自动化工具 一个简单的移动端自动化测试框架

盗版迷糊 · 2017年11月09日 · 最后由 惜木 回复于 2017年12月20日 · 1486 次阅读

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.自动化工具类 /tools

  • 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)

共收到 6 条回复 时间 点赞

用 spring 的目的是啥?配置方便?

bauul 回复

我猜估计是

bauul 回复

配置方便,不用也可

请教您一个问题,我自己学习仿照您的架构打了这样一套自动化测试,但是,在用 log4j 这个工具时,我在配置文件中设置 threshold 为 DEBUG,使它输出到控制台,经测试发现只有,error 和 fatal 级别的日志可以打印出来,其它都不可以,本人十分困惑,望指点一二

7楼 已删除
惜木 回复

log4j.appender.console = org.apache.log4j.ConsoleAppender
log4j.appender.console.Target = System.out
log4j.appender.console.Threshold = DEBUG

console 这个配置

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册