Android 自动遍历

业务常见问题:

股票信息中字段内容丢失或者数据异常

微信分享不可用

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

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

app某界面崩溃

app某接口有报错

 

测试难点:

快速迭代中自动化用例吃力

变化是常态,需要拥抱变化

现有的自动糊框架稳定性和易用性不足,需要封装

要验证的内容太多

界面字段正确性,比如股票相关数据变化

接口返回内容,有规律又不规范

内存泄露、健壮性测试、弱网等需要多种不同类型的回归测试

研发测试都无法对所有功能点进行快速回归

 

对自动化测试的期盼

较少的自动糊代码编写和维护

稳定的执行

对众多的待验证数据进行自动验证

能够代替人自动对app的每个角落进行检查分析

 

结果:自动遍历+业务建模+数据自动对比

工具命名:AppCrawler

 

自动遍历的目标

自动遍历的改进

可控。可以定义遍历的路径

可定制。可实现自动输入,自动输入

结果分析

点击前后的截图对比

结果的数据建模

新老版本UI diff

app结构思维导图展示

 

monkey的缺点

monkey可以发起随机事件,主要用途是健壮性测试和移动端压力测试,一定程度可以带有遍历效果,并不适合业务测试。

常见问题:

点击不到所需功能

点到外部app

点到注销和退出

不支持复杂业务的交互 

 

 

常见遍历工具与技术


❖ 自动遍历常见工具
❖ google android原生monkey
❖ 百度smartmonkey
❖ 腾讯newmonkey
❖ vigossjjj smart_monkey
❖ macaca的NoSmoke
❖ seveniruby appcrawler
❖ 这方面的理论和工具正在快速的完善

 

自动遍历工具

https://github.com/seveniruby/appcrawler

百度网盘下载:appcrawler-2.4.0-jar-with-dependencies.jar

-a, --app <value> app 文件地址,可以是网络地址,赋值给appium的app选项

-c, --conf <value> config 配置文件地址

--capability k1=v,k2=2...  appium capability选项,这个桉树会赋值 -c 指定的配置模板参数,用于在模板配置智商的参数微调

-o,--output <value> 遍历结果的保存目录,里面存放遍历生成的截图,思维导图和日志

 

使用流程

app新版本提测

打包开发版本LeakCanary+Apm+Bugliy+Appetizer

打包测试版本

执行测试

自动遍历探测内存泄漏和健壮性问题

自动遍历测试版本回归大部分的流程

自动遍历老版本做diff对比分析

线上巡检

每天定时跑探测线上可能的问题

 

执行方式

1.运行appium

2.cmd中执行

java -jar appcrawler-2.4.0-jar-with-dependencies.jar --capability "appPackage=com.android.thememanager,appActivity=.ThemeResourceTabActivity"

 

 

常见的capability


❖ androidCapability:
❖ deviceName: "demo"
❖ appPackage: "com.xueqiu.android"
❖ appActivity: ".view.WelcomeActivityAlias"
❖ app: ""
❖ appium: "http://127.0.0.1:4723/wd/hub"
❖ fullReset: false
❖ noReset: true
❖ automationName: uiautomator2
❖ dontStopAppOnReset: true

 

 

查看配置文件

 java -jar appcrawler-2.1.3.jar --demo

在本地路径生成example.yml文件

vi 路径/example.yml

 

 

解决登录问题

触发器:

triggerActions:

需要特定次数的触发动作

通常用于处理弹窗

xpath:指定具体按钮

action:动作

times:规则的试用次数

 

java -jar appcrawler-2.1.3.jar --capability "appPackage=com.xiaomi.ad.demo,appActivity=.MainActivity" -c example.yml

 

java -jar appcrawler-2.1.3.jar --capability "appPackage=com.android.thememanager,appActivity=.ThemeResourceTabActivity"


 

java -jar appcrawler-2.1.3.jar --capability "appPackage=com.xiaomi.ad.demo,appActivity=.MainActivity" -c example.yml

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值