码迷,mamicode.com
首页 > 移动开发 > 详细

AppCrawler——安卓端的自动化遍历测试

时间:2020-06-19 14:20:42      阅读:102      评论:0      收藏:0      [点我收藏+]

标签:leak   https   分析   googl   monkey   自动化   可用性   url   auto   

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

 

为什么要进行自动化遍历测试?

自动遍历的价值

自动化探索测试, 遍历基本的界面, 了解主要界面的可用性. 比如兼容性, 基本功能

利用遍历获取app的加载时间和性能数据, 需要借助其他的性能数据抓取工具,比如OneApm, NewRelic

利用遍历验证app的内存泄漏以及稳定性等功能, 需要借助LeakCanary和MLeaksFinder

自动化回归测试.

UI diff 验证新老版本的功能差异. 并识别细节的问题

抓取接口请求 辅助验证一些模块基本接口, 并辅助分析接口调用流程.

用了appcrawler有什么优点,可以得到什么样的收益?

  • 各大云市场上自动遍历功能都多有限制企业无法自由定制.
  • 可通过配置来设定遍历的规则,解决monkey等工具可控性差的缺点
  • 发现深层次的UI兼容性问题
  • 通过新老版本的diff可以发现每个版本的UI变动范围

 

这个工具可以在时间不允许的情况下测试,遍历软件的所有的控件(把每个按钮都点到),最起码能保证,不会出现crash等现象,能减少一些不必要的工作量;然后测试人员可以把主要的精力放在测试主要的功能点上;

appcrawler的缺点?

该工具无法处理弹框,广告之类的h5东西,因为对应的toch事件不能触发恰好触发到对应的点;

 

启动参数介绍

java -jar appcrawler.jar

app爬虫, 用于自动遍历测试. 支持Android和iOS, 支持真机和模拟器

 

Usage: java -jar appcrawler.jar [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 <value> 输出html和xml报告

-vv, --verbose 是否展示更多debug信息

--help

示例

java -jar appcrawler.jar -a xueqiu.apk

java -jar appcrawler.jar -a xueqiu.apk --capability noReset=true

java -jar appcrawler.jar -c conf/xueqiu.yaml -p android -o result/

java -jar appcrawler.jar -c xueqiu.yaml --capability udid=[你的udid] -a Snowball.app

java -jar appcrawler.jar -c xueqiu.yaml -a Snowball.app -u 4730

java -jar appcrawler.jar -c xueqiu.yaml -a Snowball.app -u http://127.0.0.1:4730/wd/hub

java -jar appcrawler.jar --report result/

 

安装依赖

mac下安装appium

#安装node和依赖

brew install node

brew install ideviceinstaller

brew install libimobiledevice

#安装appium

npm install -g appium

#检查appium环境正确性

appium-doctor

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

 

启动appium

使用此工具需要一定的appium基础知识, 请自行google.

目前已经在appium 1.5.3下做过测试

启动appium

appium --session-override

 

运行

工具以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分析的数据文件
 

示例

技术图片

AppCrawler——安卓端的自动化遍历测试

标签:leak   https   分析   googl   monkey   自动化   可用性   url   auto   

原文地址:https://www.cnblogs.com/hlsam/p/13162334.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!