新版本已经更新到 1.5.0

https://testerhome.com/topics/5718
结贴

1.4.0 的首个版本

感谢 appcrawler 群里的一群热心的同学内测, 七夕节放出, 送给单身狗们共勉

AppCrawler 1.4.0 20160809 版本内测地址

zip 包地址: https://pan.baidu.com/s/1gf4Wjpp
jar 包地址: https://pan.baidu.com/s/1dFAzTrb
帮助文档地址: https://pan.baidu.com/s/1jHFzkwA

使用说明

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

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指定的配置模板参数, 用于在模板配置之上的参数微调
  -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

更新说明

大量的代码重构. 不排除有 bug.
修复了之前反馈的思维导图打不开的问题.
参数使用做了微调

截图改进

修改为点击前截图. 并在截图里用红线标记下要被点击的元素.

下版本计划

1.5.0 [计划中]
支持断点续传机制
支持自动重启 appium 机制, 用于防止 iOS 遍历内存占用太大问题
支持 url 的 xpath 过滤
分离插件到独立项目
标准的 html 报告

已知 Bug

QQ 群交流

QQ 群: 177933995
群问题: appium 根据 xpath 定位的 api 叫什么?

为了拒绝小白们各种低级重复问题, 加群有问题, 申请加群时写上对的答案才能入群. (大家回帖不要透露答案哦)
实在不会的, 又想入群的, 请自觉打赏本帖. 并把打赏金额比如 1.6 写到加群申请里即可.
我会把钱分给解答问题的群管.

提醒

自动遍历有他独特的价值, 但是他并不能替代你的业务测试. 所以请合理的使用. 随着 app 的质量越来也高, 它的作用就会越来越小.

1.5.0 预告

已经在群内内测了

增加了 html 报告

增加了 yaml 格式的配置并增加了注释

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

部分配置支持 scala 表达式

比如

#支持简单的scala表达式, MiniAppium是一个全局的Object, 你可以调用他的基本方法实现定制化支持
startupActions:
- "MiniAppium.swipe(\"left\")"
- "MiniAppium.swipe(\"left\")"
- "MiniAppium.swipe(\"left\")"
- "MiniAppium.swipe(\"left\")"
- "MiniAppium.swipe(\"down\")"


↙↙↙阅读原文可查看相关链接,并与作者交流