移动端测试之自动遍历回归测试

自动遍历回归测试

提到性能测试一般我们想到的都是服务端的测试,对API进行测试,但是有些情况也需要进行些客户端的性能测试。除此而外还可能有些功能和兼容性测试的需求。

App 某界面崩溃

功能问题

App 某接口有报错

股票详情页中特定信息字段内容丢失或者数据异常

微信分享不可用

兼容性问题:

用户网络慢时发出请求后退出当前页面发生崩溃

某些界面在 4.4 和 5.0 的系统上操作体验不同

当系统功能比较复杂的情况下,没有合理的测试分层反而想要在UI测试上cover全部的流程,这本来就是错误的想法,大量的UI自动化测试不仅会增加不稳定性,得不到理想测试结果的同时也导致自动化测试收益比大打折扣。这时候就催生出了自动化遍历工具,希望有工具像monkey一样,自动点击app,执行一定的时间实现遍历功能。

自动遍历的需求,可控:可以定义遍历的路径;可定制:可实现自动输入、自动滑动等基础行为 结果分析;点击前后的截图对比 结果的数据建模. 新老版本 UI Diff;App 结构思维导图展示。

目前市面上比较流行的自动遍历工具有:

Google Android 原生 monkey 百度 SmartMonkey 腾讯 NewMonkey testerhome vigossjjj smart_monkey

阿里 Macaca 的 NoSmoke

头条的 zhangzhao Maxim

霍格沃兹测试学院 seveniruby AppCrawler

Google 的 App Crawler

AppCrawler

这里主要介绍AppCrawler,这是霍格沃兹测试学院的思寒开源的一个工具,github地址是:GitHub - seveniruby/AppCrawler: 基于appium的app自动遍历工具,体验下来还是相对灵活且好用的。

appcrawler对其他框架的依赖:

AppCrawler 底层引擎ADB Macaca selenium、Appium,Appium 底层引擎 WDA、Uiautomator2

AppCrawler 环境要求

AppCrawler 2.4:java8 appium 1.8.x、 下载方法:百度网盘直接下载、 从源代码编译:mvn 编译即可;AppCrawler 命令或者 java -jar appcrawler.jar 皆表示用 jar -jar 命 令执行对应版本的 jar 包文件,比如 java -jar appcrawler-2.4.0-jar-with- dependencies.jar

quick start

启动 Appium, 启动模拟器或者连接真机, 开始自动遍历

appcrawler --capability "appPackage=com.xueqiu.android,appActivity=.view.WelcomeActivityAlias"

AppCrawler 基于配置文件的运行模式

java -jar appcrawler.jar --demo ,会在当前目录下生成一个 demo.yml,执行方式支持参数化执行和配置文件执行两种方式。

capability 设置:与 Appium 完全一致 testcase:用于启动 App 后的基础测试用例 selectedList:遍历范围设定 triggerActions:特定条件触发执行动作的设置,执行参数比配置文件优先级别高

自动遍历支持

selectedList:需要被遍历的元素范围

firstList:优先被点击 lastList:最后被点击

tagLimitMax:同祖先(同类型)的元素最多点击多少次

backButton:当所有元素都被点击后默认后退控件定位

blackList:黑名单

maxDepth: 6 遍历的最大深度

触发器:

triggerActions:需要特定次数的触发动作通常用于处理弹框

TestCase:指定具体按钮

action:动作

times:规则的使用次数

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值