自动化测试简介
-
UI自动化的本质(User Interface 用户界面)
把手动测试的一系列动作转化成机器自动执行。
- 打开网站(比如:打开淘宝网站)
定位元素
(比如:定位到搜索输入框)操作元素
(比如:在搜索框中输入秋装,点击搜索)模拟页面动作
(比如:下拉、上滑等)断言结果
:预期结果与实际结果比对,判断是否通过测试。生成报告
场景:打开淘宝网站,在搜索框中输入内容,点击搜索,查看搜索结果和预期要搜索的结果是否一致。
🌟PS:做自动化不能跨步走,要一步一步的执行,手工怎么执行自动化就怎么执行。
-
适合自动化测试场景
-
需求不会频繁变动
:因为需求频繁变动,页面的功能就会频繁变动。(比如敏捷迭代项目,V1.0版本已经上线了,后面只是在V1.0的基础上加一些新的功能,就可以对V1.0版本的老功能进行自动化测试) -
UI比较稳定
:因为UI自动化就是基于UI。 -
项目周期较长
-
大量的回归测试任务
:大量的重复的回归的测试任务,不断的迭代,需要回归老功能。 -
冒烟测试:针对本次迭代的新功能(核心的、主干的功能,大概10%~20%)进行冒烟测试。如果冒烟不通过就不接受这个版本的测试。
-
回归测试:对老功能进行回归测试。
-
-
不适合自动化测试的场景
- 交互性太强的
- 视频播放器(无法判断正在播放的是什么、无法分析是蓝屏还是黑屏)
- 音频播放器
- 打电话
-
UI自动化测试设计原则
一个case完成一个功能点测试
:一个自动化测试用例对应一条手工测试用例。一个脚本是一个完成的场景
(比如:打开淘宝网站,选择分类,添加某一个商品到购物车,支付,查看订单详情。)脚本之间独立,不能有依赖
(比如:有10个脚本,第1个脚本是登录,后面9个脚本依赖于登录,若第1个脚本失败,后面9个脚本就无法执行。)设置合适的检查点
:断言结果,检查预期结果与实际结果是否一致。设计良好的框架
(比如:unittest框架)