自动化测试常见面试问题

1.你们自动化测试使用的代码框架是什么样的

我们使用的测试框架以数据驱动测试为思路,

在unittest与ddt基础上进行二次封装,实现了

代码元素分离、代码数据分离、selenium二次封装,日志、

批量执行用例生成报告、定时执行用例等功能

代码框架分为:用例模块、数据模块、公共方法模块、执行模块、公共配置等

2.你们在写代码时都封装过哪些方法

1.封装元素操作相关的方法,比如:点击、输入、获取文本、上传文件等

2.封装读取元素信息的方法,读取ini文件中的元素信息

3.封装读取excel数据的方法

4.封装打印日志的方法

3.自动化测试一般在什么时候执行

1.自动化测试适合的项目:项目功能比较稳定、迭代周期适中测试人员具备自动化测试能力

2.自动化测试可以覆盖哪些功能,覆盖率多少:可以覆盖项目中的大多数功能的正常和异常场景,覆盖率可以达到40%-60%

3.一般用于测试开始时的冒烟测试或项目上线前的回归测试

4.自动化测试的优缺点

优点:1.可以在较短的时间执行更多测试,提升测试效率
2.可以快速执行冒烟测试或回归测试,节省时间成本

缺点:1.相对于手工测试,自动化测试覆盖率较低,测试不全面
2.手工测试在测试一些复杂场景时,比自动化测试更可靠

5.假如给你一个项目,说一下你要怎么样开展自动化测试

1.判断当前项目是否适合做自动化测试:1.项目比较稳定 2.非金融相关项目

2.从功能测试用例中挑选出可以被自动化实现的用例

3.设计代码框架、封装基础操作方法、封装日志方法、读取ini配置文件方法等

4.将页面元素定位信息收集到ini配置文件中

5.按照功能测试用例中的步骤,编写自动化测试用例,使用封装好的方法,调用ini中的元素信息

6.在excel中设计测试数据,封装读取excel数据的方法,将测试数据加入到用例中

7.统一执行用例,并生成报告,根据脚本执行情况进行调优

6.讲一下用到了unittest中的哪些功能

1.testCase 测试用例 :setUp() test_*() tearDown()

2.testSuit 测试套件:用例的集合,将用例添加到套件中可以实现批量执行

3.HTMLTestRunner 测试执行器:执行测试套件,并生成测试报告

4.ddt 数据驱动测试,可以通过ddt将测试数据传到测试用例中

7.你在做自动化测试的时候都用到了哪些工具

pycharm+python3.6+selenium+xlrd+unittest+ddt+ini

8.你在做自动化测试时遇到过哪些问题,你是怎么解决的

1.元素定位不到的问题,或者动态元素,解决办法:切换其他定位方式,当常规定位方法无效时可以使用模糊定位,分层定位等方式,检查是否存在嵌套网页,是否依赖操作步骤。

2.项目中的业务问题,比如OA项目中新建合同脚本需要使用订单数据,订单数据需要依赖产品,产品依赖联系人数据,需要按照业务逻辑顺序设计脚本。

3.断言设计,部分功能无法直接通过页面中的文本来判断是否执行通过,需要查询数据库,或者其他操作来作为判断依据。

9.selenium控制浏览器的原理是什么

selenium为代码包,提供了控制浏览器的方法

使用python编写脚本,调用selenium中控制浏览器的方法,执行脚本时,通过浏览器驱动(chromedriver)

控制浏览器按照脚本中的步骤执行

10.常用的定位元素方法有哪些

精确定位:id、name、xpath、css_selector

模糊定位:link_text、tag_name、class_name

分层定位:先定位到某个元素,再从该元素的范围内进行第二次定位

  • 3
    点赞
  • 52
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

互联网小队

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值