面试京东T5,这些自动化测试面试题把我按在地上摩擦,鬼知道我经历了什么!

大家好,我是阿沐,我来了啊!

1.请说说常用主流的自动化测试框架?

Web端主流框架:selenium,RF

移动端:appium,RF,airtest,uiautomator

C/S端:RF,airtest

接口:python库requests,RF,jmeter,postman

2.web自动化元素定位方式有哪些?

css、xpath、id、name、class_name、tag_name、link_text、partial_link_text这是web自动化测试的元素定位方法。用的比较多的话基本就是css、xpath、id

3.xpath定位通过开发者工具定位直接复制,那么为什么还要手写xpath表达式?

通常情况下,元素定位使用id、name、class、text等可以满足日常大部分定位需求。

但是随着自动化测试的深入,和不前端同框架要求,会发现上面的定位方式无法解决一些元素定位

1、没有id、name、class等属性;

2.   id或者class是动态的

3、标签的属性或文本信息特征没有或者不明显;

4、标签嵌套复杂,层次太多等。

xpath能精准定位,能模糊定位,写Xpath表达式让元素定位更稳定,更灵活

4.如何理解自动化测试分层思想?

   分层思想是让不同层去做不同类型的事情,让代码结构清晰,增加复用性、一般分两层或三层、代码重用。控制脚本失败,降低维护成本,对自化的成败至关重要。

一般分为以下几层

1.对象库层(基础对象:浏览器,元素对象)

2.逻辑处理层:脚本运行过程,公共方法封装

3.业务层:功能测试用例的业务过程

4.数据层:数据驱动

5.自动化测试中你是如何做数据驱动的?

   数据驱动我用的是python中的ddt模块,或者pytest自带的数据驱动

 实现方式有以下几种

  1. 用excel表格,每一行代表一个测试用例,循环读取excel表中测试用例的数据
  2. 用yaml文件形式
  3. 用xmind方式写用例,python读取xmind文件

6.能说一下POM模式吗?

  定义:PO模式是UI自动化常用的设计模式,是一种封装思想,这种设计模式旨在为每个待测试的页面创建一个页面对象(class),将那些繁琐的定位操作封装到这个页面对象中,只对外提供必要的操作接口,是一种封装思想

  如何实现POM:

在POM下,被测项目的每一个页面都有一个对应的page class

每一个page class维护着该web页的元素定位集和

每一个page class维护着该web页的操作这些元素的方法

7.unittest单元测试框架了解过吗,为什么会用到unit test?

unittest是Python单元测试框架,使用unittest的目的

1.灵活的组织ui自动化/接口测试用例

2.让用例高效的执行

3.断言:方便验证测试用例的结果

4.集成html形式测试报告

Unittest的特性:

1.一个class继承unittest.TestCase,即是一个个具体的TestCase(类方法以 test 开头,否则是不被unittest识别)

2.每一个用例执行的结果的标识,成功是 .,失败是 F,出错是 E

3.verbosity参数可以控制执行结果的输出,0 是简单报告、1 是一般报告、2 是详细报告。

4.用 setUp()、tearDown()、setUpClass()以及 tearDownClass()可以在用例执行前布置环境,以及在用例执行后清理环境

5.参数中加stream,可以将报告输出到文件:可以用HTMLTestRunner输出html报告。

6.多个单个的测试用例集合在一起,就是TestSuite

8.unit test与pytest的区别能说说吗?

  1. unittest 用例格式复杂,不能兼容pytest用例

   Pytest用例格式简单,能兼容unittest用例

  1. unittest的测试报告需要用第三方库HTMLTestRunner

   Pytest 自带pytest-HTML测试报告,集合allure

  1. unittest不支持失败重运行,pytest用rerunfai'ures插件支持失败重运行
  2. Pytest支持用例并发运行
  3. Pytest支持mark标签,用于冒烟回归测试
  4. Pytest可以通过conftest实现跨文件共享数据,比如共享前置操作

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值