项目背景分析
UI自动化测试,即通过模拟手动操作用户UI界面的方式,以代码方式实现自动操作和验证的一种自动化测试手段。如今互联网的主战场已经从web端逐渐过渡到了app端。现在,app在UI自动化方面的框架已经比较成熟,目前我选择的是Appium,今后也会对网易Airtest进行调研推广
UI能解决什么问题?
UI的优缺点是什么?
UI的应用场景
UI存在的意义
那么为什么需要做UI自动化呢?
需求背景
目标
技术方案
1. 用例编写简单,降低上手门槛
由于测试人员的代码编写能力参差不齐,让业务同学可以快速上手编写是基本诉求。封装基本操作,测试人员无需关心底层实现,直接调用封装好的API即可
2. 降低用例维护成本
3. 失败重试机制,提高用例稳定性
由于用例执行的稳定性直接决定用例在业务落地时的可信度,所以提高用例稳定性是必要的,框架提供了失败重试的机制来间接保证稳定性。即当监听到用例执行失败异常时,重新执行当前用例逻辑,如果执行成功,覆盖当前用例的执行结果;如果失败,重新执行,直到超过重试次数。
4.协助快速定位问题的能力
框架提供了日志和失败时截图进行分析和定位问题的能力。
5.数据统计的能力
框架提供了提供了最终执行报告,详细记录最近10次的执行结果和报错截图
6.Appium并发
在每个平台进程内,根据设备列表,为每个设备分配Appium端口,互不冲突为每个设备再启动一个进程,独立执行Case,并发跑脚本得到最终结果。多平台多设备同时执行相同Case,在进行功能测试的同时进行兼容性测试(这里这边管理方案暂时采取TotalControl实现,后期搭建STF多设备兼容性平台)
7.结果通知
执行结果后通过邮件的方式发送最终的结果,日常回归时发现BUG集成微信平台实现实时报警
8. UI测试对接CI平台
与jenkins结合、更自由、敏捷的执行,设立每日回归场景,版本测试场景,功能覆盖场景通过jenkin、配置自动化执行,使用场景如每天下班时自动跑一下用例,或者当研发打了新包后自动开始运行测试脚本测试新包,下班或周末采用多设备兼容性测试。
实现目标

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69942496/viewspace-2659801/ ,如需转载,请注明出处,否则将追究法律责任。