AppCrawler基于 Appium 的 App 自动遍历工具

联合创作 · 2023-09-29 13:52

AppCrawler 是一个基于自动遍历的 App 爬虫工具。支持 Android 和 iOS,支持真机和模拟器。最大的特点是灵活性,可通过配置来设定遍历的规则。


为什么做这个工具



  • 各大云市场上自动遍历功能都多有限制,企业无法自由定制。

  • 解决 monkey 等工具可控性差的缺点

  • 发现深层次的 UI 兼容性问题

  • 通过新老版本的 diff 可以发现每个版本的 UI 变动范围


设计目标



  • 自动爬取加上规则引导

  • 支持定制化, 可以自己设定遍历深度

  • 支持插件化, 允许别人改造和增强

  • 支持滑动等更多动作

  • 支持自动截获接口请求

  • 支持新老版本的界面对比(开发中)

  • 云端兼容性测试服务利用, 支持 Testin MQC MTC(开发中)


安装依赖


mac 下安装 appium




#安装node和依赖
brew install node
brew install ideviceinstaller
brew install libimobiledevice
#安装appium
npm install -g appium
#检查appium环境正确性
appium-doctor


真机或者模拟器均可. 确保 adb devices 可以看到就行


启动 appium


使用此工具需要一定的 appium 基础知识,目前已经在 appium 1.5.3 下做过测试


启动 appium




appium --session-override


下载 appcrawler


最新版本下载地址: https://pan.baidu.com/s/1dE0JDCH


运行


工具以 jar 包方式发布,需要 java8 以上的运行环境




java -jar appcrawler.jar


快速遍历




#查看帮助文档
java -jar appcrawler.jar
#运行测试
java -jar appcrawler.jar -a xueqiu.apk


配置文件运行方式




#配置文件的方式运行
#Android测试
java -jar appcrawler.jar -c conf/xueqiu.yaml -a xueqiu.apk
#iOS测试
java -jar appcrawler.jar -c conf/xueqiu.yaml -a xueqiu.app


输出结果


默认在当前目录下会生成一个包含输出结果的目录, 以时间命名. 包含了如下的测试结果



  • 所有遍历过的控件组成的思维导图

  • 包含了遍历覆盖的 html 报告

  • 用于做 diff 分析的数据文件

浏览 24
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报