2022.2.21UI自动化测试复习
UI自动化测试:
1、常用的元素定位有那几种方法,请举例说明
id的定位
name的定位
class_name的定位
tag_name的定位
xpath的定位
css定位
LINK_TEXT定位
PARYIAL_LINK_TEXT的定位
2、单个元素定位与多个元素定位的区别是什么?
单个元素直接控制台定位就好
多元素定位使用id或者索引的方式
3、如果是iFrame的框架,如何来定位里面的元素属性的对象
首先进入iframe框架使用id的方式
如果没有id就使用索引的方式进行定位
4、怎么理解页面对象设计模式,详细的阐述下每个目录具体的作用
每个待测试的页面创建一个页面对象 (class),将那些繁琐的定位操作封装到这个页面对象中,只对外提供必要的操作接口
目录结构:run.py:程序执行的入口
base:基础类,编写测试框架基础代码 common:存公共代码,如路径
page:对象层,编写页面对象操作的行为 config:配置文件
test:测试模块,编写测试模块 data:存储测试数据
image:存储图片文件的 log:存储日志文件
utils:工具类,对文件的处理 report:存储测试报告
5、怎么理解显式等待和隐式等待
隐式等待:显式等待指定某个条件,然后设置最长等待时间。如果在这个时间还没有找到元素,那么便会抛出异常了。
显示等待:等待时间完成即可(单位:秒)默认等待时间为0
6、在测试中遇到多窗口,具体怎么解决,请描述具体的步骤和编写具体的案例代码
1、循环所有的窗口
2、判断是否是当前窗口
3、如果不是,切换到新的窗口
4、在新的窗口进行操作
5、关闭新的窗口
6、切换到最开始窗口
7、你写了多少个UI自动化测试用例?
150个主要是页面的登录
8、详细的描述下你理解的UI自动化测试流程?
前提:并不是所有的功能都完全适用于自动化测试
1、我们要根据需求先进行分析(哪些需要自动化测试哪些不需要),并且根据需求分析来进行测试用例的设计
2、开始做自动化测试前准备工作,搭建环境,根据工程来进行自动化测试的框架编写
3、在框架当中来进行代码的编写,进行执行通过实际结果和期望结果进行比较来进行定论
4、进行输出结果的报告提交
9、你在UI自动化测试中具体使用到了哪些测试技术和工具
pytest unittest selenium
allure jenkins
10、你编写的UI自动化测试用例你发现过bug嘛?
发现过 判断一个页面的跳转多次测试通过不了
11、测试报告你是怎么生成的?
生成测试报告需要的是HTMLTestRunner库, 具体参数 stream是打开执行测试用例的路径 写入到指定文件夹内 利用进制进行写入 (以流的方式写入)
python -m pytest tests --alluredir=report/result --->result下生成json的文件
allure generate report/result/ -o report/html --clean --->report下生成html的目录,里面包含了html的测试报告
allure serve report/result -->启动allure的服务,自动打开测试报告
12、结合sina邮箱编写UI的自动化测试用例
13、单元测试框架unittest常用的断言方法有哪些?
assert

单元测试框架:
1、unittest与pytest的框架

2、unittest的常用组件有哪些
TestCase:测试用例,测试用例里面会有很多测试方法,是单元测试中最小维度的测试行为。
TestSuite:测试套件,是测试用例的集合。
TestFixure:测试固件,测试准备工作和收尾工作,打开和关闭浏览器,链接和关闭数据库,可有可无
TestRunner:测试运行器,运行测试用例。
TestReport:将测试结果呈现给用户,生成测试报告
3、unittest中怎么理解测试固件
unittest提供了setUp与tearDown的测试固件,执行顺序是先执行setUp方法,再执行test_***测试用例,最后执行tearDown方法
4、怎么理解setUp(),tearDown()与类测试固件的测试
setUp(),tearDown()每次都要执行;类测试固件只执行一次
5、在unittest测试框架中,加载所有的测试模块使用到的方法是什么?具体参数是什么?
run
6、在unittest中使用那个库来生成对应的测试报告
直接把HTMLTestRunner.py放入工程目录
7、一个完整的测试用例包含哪些步骤
测试用例 (Test Case)是指对一项特定的软件产品进行测试任务的描述,体现测试方案、方法、技术和策略。. 其内容包括测试目标、测试环境、输入数据、测试步骤、预期结果、测试脚本等,最终形成文档。. 简单地认为,测试用例是为某个特殊目标而编制的一组测试输入、执行条件以及预期结果,用于核实是否满足某个特定软件需求。
8、怎么理解参数化
测试进行相同的步骤,只是输入的数据不同,其他操作都是一样的,这样需要写很多测试用例,参数化可以解决这种问题,让代码更加简洁
9、测试报告怎么生成?,使用到那个库
这些之前有的做过,可以再看下,然后主要复习下UI自动化测试的各个知识,结合我的书以及你们的博客,下午我再详细的讲下

浙公网安备 33010602011771号