UI自动化(User Interface 用户交互界面)
UI自动化测试,即通过模拟手动操作用户UI界面的方式,以代码方式实现自动操作和验证的一种自动化测试手段
分为:web UI自动化 和APP UI自动化,实际上都是找到元素,操作元素(重复这样这些步骤完成测试用例)。
web UI自动化测试:selenium提供的八种定位方式(找到元素),和各种操作方法
web自动化分为几层?三层(selenium脚本,selenium webdriver(驱动),web 浏览器)
APP UI自动化测试:Appnium提供的三种定位方式(找到元素),和各种操作方法
APP自动化分为几层?四层,因为手机和电脑需要进行连接操作,web UI自动化都在电脑上不需要连接(Appnium脚本,指令服务器(类似于selenium webdriver的驱动),Android SDK,手机APP终端)
UI自动化能解决什么问题?
1、重复性的功能测试及验证
2、避免疲惫操作时的人为测试遗漏
3、回归测试需要定期运行,在自动化时,它们可以节省测试人员的时间,我们可以更专注于其他场景和探索性测试
什么样的功能点需要UI自动化:
- 主业务流程,重要功能(抽样检查,力度由项目组自己把控)
- 重复量大的功能,容易出错得地方
- 或者是按照用例等级划分P1(一般作为自动化用例),P2,P3
UI的应用场景
主要应用于冒烟测试、回归测试、Dailybuild等阶段。
UI自动化常见的验证点
- 页面元素验证
- 页面列表数据验证
- UI的文本,图片显示正确性
- UI的交互逻辑正确性测试
- UI上的用户行为正确性测试
UI的优缺点是什么?
缺点也是比较明显,随着敏捷迭代的速度越来越快,UI控件的频繁变更导致控件定位不稳定,提高了用例脚本的维护成本,同时定位的不稳定导致用例的可信度降低。
- 不能快速反馈(相对于单元测试和API测试)
- 只会对于case已确定的内容进行校验
- 运行的稳定性要求高
- 发现的错误不多,大多数错误似乎是通过“意外”或进行探索性测试而发现的。这可能是因为在每个探索性测试会话期间,我们可能以不同的方式测试应用程序,从而通过应用程序找到新的漏洞。
- UI本身的变化性,要想达到和手工测试相同的覆盖率,投入比较大
UI自动化思路解析(这里主要讲电商web端)
1、web功能测试内容:
UI界面,链接测试,功能逻辑测试,兼容性测试
2、web自动化包括哪些?
UI界面(不考虑),链接测试(考虑),功能逻辑测试(考虑),兼容性测试(功能方面得兼容性测试考虑)
电商前台主要流程
登录->搜索->加购物车->下单->支付
主要功能点:营销活动,筛选,立即购买,秒杀,修改商品,收获地址,配送方式,发票,优惠活动,金额计算,订单查询,订单取消