首页 > 其他 > 详细

自动化测试相关面试题

时间:2021-09-07 00:27:29      阅读:51      评论:0      收藏:0      [点我收藏+]

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 用例

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

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

3. unittest 不支持失败重运行,pytest 用 rerunfai‘ures 插件支持失败重运行

4. Pytest 支持用例并发运行

5. Pytest 支持 mark 标签,用于冒烟回归测试

6. Pytest 可以通过 conftest 实现跨文件共享数据,比如共享前置操作

 

自动化测试相关面试题

原文:https://www.cnblogs.com/Sandy-1128/p/autotest-1.html

踩
(0)
赞
(0)
   
举报
评论 一句话评论(0)
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!