AppCrawler 自动遍历工具 1.5.0 版本

转自:https://testerhome.com/topics/5718

使用介绍

帮助文档: https://www.gitbook.com/book/seveniruby/appcrawler/details

AppCrawler 1.5.0
app爬虫, 用于自动遍历测试. 支持Android和iOS, 支持真机和模拟器
移动测试技术交流 https://testerhome.com
感谢: 晓光 泉龙 杨榕 恒温 mikezhou yaming116

Usage: appcrawler [options]

  -a, --app <value>        Android或者iOS的文件地址, 可以是网络地址, 赋值给appium的app选项
  -c, --conf <value>       配置文件地址
  -p, --platform <value>   平台类型android或者ios, 默认会根据app后缀名自动判断
  -t, --maxTime <value>    最大运行时间. 单位为秒. 超过此值会退出. 默认最长运行3个小时
  -u, --appium <value>     appium的url地址
  -o, --output <value>     遍历结果的保存目录. 里面会存放遍历生成的截图, 思维导图和日志
  --capability k1=v1,k2=v2...
                           appium capability选项, 这个参数会覆盖-c指定的配置模板参数, 用于在模板配置之上的参数微调
  -r, --report             输出html和xml报告
  -vv, --verbose           是否展示更多debug信息
  --help
示例
appcrawler -a xueqiu.apk
appcrawler -a xueqiu.apk --capability noReset=true
appcrawler -c conf/xueqiu.json
appcrawler -c xueqiu.json --capability udid=[你的udid] -a Snowball.app
appcrawler -c xueqiu.json -a Snowball.app -u 4730
appcrawler -c xueqiu.json -a Snowball.app -u http://127.0.0.1:4730/wd/hub
appcrawler --report -o result/

--report这个参数还没启动. 请忽略

自动遍历用途

自动遍历主要有如下几个价值

  • 遍历基本的界面, 了解主要界面的可用性. 比如兼容性, 基本功能, 这是云平台的遍历提供的基本功能和作用.
  • 利用遍历获取app的加载时间和性能数据, 需要借助其他的性能数据抓取工具,比如OneApm, NewRelic
  • 利用遍历验证app的内存泄漏以及稳定性等功能, 需要借助LeakCanary和MLeaksFinder
  • UI diff 验证新老版本的功能差异. 并识别兼容性问题.
  • 抓取接口请求 辅助验证一些模块基本接口, 并辅助分析接口调用流程.

appcrawler目前还没做到这么强. 只是个小工具. 正在朝这几个方向发展. 
目前的地位可以理解为相当于更好的功能遍历的monkey. 可参考下腾讯的newmonkey的演讲.

1.5.0版本特点

解决了windows下的多个不兼容问题.
配置支持yaml并且个别配置不兼容老版本了

支持HTML报告

android报告示例

iOS报告示例

支持XML报告

方便做持续集成

配置文件支持YAML

---
#插件列表. 目前有五六个插件
pluginList:
- "com.xueqiu.qa.appcrawler.plugin.TagLimitPlugin"
- "com.xueqiu.qa.appcrawler.plugin.ReportPlugin"
#log的日志级别, 也可以通过命令行的-vv参数来显示更多log
logLevel: "TRACE"
#是否保存截图, 设置为false可加快速度. 一般截图耗时在3s-10s之间
saveScreen: true
#截图最长等待时间
screenshotTimeout: 20
#当前使用的平台. 会根据app文件的后缀重新判断. 可不填写.
currentDriver: "android"
#最大运行时间
maxTime: 10800
#结果保存目录. 为空会自动生成一个新的时间戳为名字的目录
resultDir: ""

启动脚本支持自定义scala表达式

可以写一些简单的. driver.findElementByName("ddd").click 之类的语句. 用于解决定制化界面启动问题

startupActions:
- "MiniAppium.swipe(\"left\")"
- "MiniAppium.swipe(\"left\")"
- "MiniAppium.swipe(\"left\")"
- "MiniAppium.swipe(\"left\")"
- "MiniAppium.swipe(\"down\")"
- "println(driver)"

已知问题

  • 跳到其他app暂不后退 需要自己设定黑名单过滤下. 因为iOS特殊性还在考虑如何设计

如何获取

下载地址: 
AppCrawler 1.5.0 20160817版本
zip包地址: https://pan.baidu.com/s/1boDCbjp

jar包地址: https://pan.baidu.com/s/1cA64Y6
帮助文档地址: http://appcrawler.testerhome.com/
配置文件有更新.

QQ技术交流和新版本内测群: 177933995
群问题: 请给出appcrawler工具pdf文档的路径

猜你喜欢

转载自blog.csdn.net/fanjint/article/details/82666396