Python自动化测试常见面试题!

文章列举了Python自动化测试中常遇到的问题,包括适合自动化测试的项目条件,PO模式的概念,*args和**kwargs在Python中的作用,以及Selenium中关闭浏览器的quit和close区别,还提及了如ElementNotVisibleException等异常处理。此外,文章提供了提高Selenium脚本执行速度的方法,如使用显性等待和减少不必要的操作步骤。

  Python是一种面向对象、解释型、跨平台的高级程序设计语言,可应用于诸多领域,比如:web开发、网络爬虫、数据分析、自动化测试、自动化运维等,其中自动化测试是很多Python人员的首选就业方向,本文为大家总结了一些Python自动化测试面试常见问题,你答对了吗?

  1、什么项目适合做自动化测试?

  不变的、重复的、规范的

  ①任务测试明确,需求不会频繁变动

  ②项目周期要足够长

  ③自动化测试脚本可重复使用,比如:比较频繁的回归测试

  ④被测软件系统开发比较规范,能够保证系统的可测试性

  ⑤软件系统界面稳定,变动少

  ⑥项目进度压力不太大

  2、什么是PO模式?

  是指把一个具体的页面转化为编程语言当中的一个对象,页面特性转化成对象属性,页面操作转化为对象方法。

  ①通俗来讲把每个页面当成一个对象,页面层写定位元素方法和页面操作方法

  ②用例层从页面层调用操作方法,写成用例

  ③可以做到定位元素与脚本的分离

  ④主要用来实现对页面操作和测试逻辑的一个分离

  3、Python中*args和**kwargs的作用?

  都是不定长参数,解决参数不固定问题。

  args是非关键字参数,用于元组;kwargs是关键字参数

  也就是说args表示任何多个无名参数,然而kwargs表示一个有着对应关系的关键字参数

  在使用的时候需要注意,*args要在**kwargs之前,不然会发生语法错误。

  4、关闭浏览器中的quit和close的区别?

  简单来说,两个都可以实现退出浏览器session功能。

  close只会关闭浏览器,而quit关闭全部浏览器的同时,也会杀掉驱动进程。

  5、举例一下你遇到过哪些异常?

  ①ElementNotSelectableException:元素不能选择异常

  ②ElementNotVisibleException:元素不可见异常

  ③NoSuchAttributeException:没有这样属性异常

  ④NoSuchElementException:没有该元素异常

  ⑤NoSuchFrameException:没有该frame异常

  ⑥TimeoutException:超时异常

  6、如何提高selenium脚本的执行速度?

  ①使用显性等待,减少强制等待或隐性等待的使用。

  ②减少不必要的操作步骤。

  ③如果页面加载的内容过多,就设置超时时间,中断页面加载。

### Python 自动化测试常见面试题 #### 单元测试框架的理解 Python 中 `unittest` 是标准库中的单元测试框架,提供了测试用例、测试套件、测试运行器、测试报告等功能,支持断言、异常、装饰器、参数化等特性[^1]。 ```python import unittest class TestStringMethods(unittest.TestCase): def test_upper(self): self.assertEqual('foo'.upper(), 'FOO') if __name__ == '__main__': unittest.main() ``` #### Selenium 库的安装与配置 对于希望进行 Web 测试的人来说,在 Python 中可以使用 Selenium 进行自动化测试。为了安装和配置 Selenium 库,可以通过 pip 安装 selenium 并下载对应的 WebDriver 来控制浏览器行为[^2]。 ```bash pip install selenium ``` #### 提高测试稳定性的方法 提高自动化测试稳定性的策略包括在经常检测失败的元素前尽量加上显式等待时间,直到目标元素可见后再继续操作;利用 try-except 结构捕捉并处理可能出现的异常情况;尽可能采用独立于生产环境之外专门用于测试的数据源来减少外部因素带来的不确定性影响[^3]。 #### 判断变量是否为 None 的最佳实践 当需要验证一个变量是不是等于特定值时,应该优先考虑使用 `is` 关键字而非相等运算符 (`==`) ,尤其是在对比对象是否为 `None` 时更为重要。这是因为 `None` 在 Python 中属于单例模式下的实例,只有通过 `is` 才能准确无误地确认某变量确实指向该唯一存在的 `None` 实体[^4]。 #### 使用 Select 类选择下拉菜单项以及 XPath 表达式的应用 针对网页上的 `<select>` 标签所代表的选择列表组件,可借助 `Select` 对象所提供的接口完成选项选取动作;而面对复杂页面结构,则可通过编写精确匹配节点路径的 XPath 查询语句实现精准定位元素的目的[^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值