CanUI
https://github.com/cheongwen/app-test
此框架支持 APP UI 自动化
采用 appium+maven+testng+spring 搭建
优势
- 通过配置的方式,可对 app 上每一个操作元素定义名称和查找方式
- 用例中使用定义名称进行获取和操作,避免 ui 变化频繁改动用例的麻烦
- 封装常用操作,用例更加简洁
- 配置灵活,通用性强
结构说明
1.appium 服务管理 /appium
- 1.1 ServerManager.java 用于控制 appium,启动/关闭 appium 命令在 config.properties 中配置
- 1.2 RunCommand.java 分线程执行控制命令,可获取 appium 启动日志,启动成功后,开始创建 driver
- 2.1 BaseTools.java 封装常用工具类,如截图、等待、图片对比等
- 2.2 BMPLoader.java 图片对比工具类
- 2.3 Config.java、ElementConfig.java、SpringConfig.java 读取配置及 spring 配置相关
- 2.4 SuiteListener.java、TestListener.java testng 监听类,用于用例运行前开启 appium 以及用例失败截图
- 2.5 Element.java 通过 element.properties 配置文件查找元素,提供常用操作方法,如滑动,判断元素是否存在,判断是否存在字符等
3.测试封装类 /testcase
- 3.1 BaseCase.java 封装一些常用的操作,可在用例中直接调用
4.资源配置文件 /resources
- 4.1 config.properties 配置运行环境,app 属性及 appium 启动命令 (适用 windows/Linux)
- 4.2 element.properties 配置 app 元素查找方式,如:跳过=id||com.kanmenzhu:id/image
- 4.3 log4j.properties 运行日志配置
5.测试用例编写/test
- 5.1 BaseCaseTest.java 测试用例父类,测试用例继承此类,提供测试准备及测试收尾工作
使用说明
详见 TestCase.java
通过配置文件获取元素查找方式
元素查找封装为 Element.get(String name) 和 Element.getList(String name)