03-17 APP自动遍历测试技术

monkey

是一个在模拟器或者设备上运行的程序,用于生成用户事件的伪随机流

安装

Android SDK 自带

使用
  • 基本配置选项
adb shell monkey 100  # 对所有包随机操作 100 次
  • 操作约束
adb shell monkey -p com.xueqiu.android 100  # 指定对雪球app 随机操作 100 次
  • 事件类型和频率
  • 调试选项
  • 事件计数
adb shell monkey -p com.xueqiu.android -s 20 80  # 时间种子,重复上一次的随机事件
adb shell monkey -p com.xueqiu.android -vv -s 20 80  # 详细日志
adb shell monkey -p com.xueqiu.android --throttle 500 100  # 时间延迟,使操作速度慢下来
adb shell monkey -p com.xueqiu.android --pct-touch 10 1000  # 事件百分比
常用事件
  • --pct-touch :触摸事件,比如点击
  • --pct-motion :动作时间,比如滑动
  • --pct-trackball :轨迹事件,比如移动+点击,曲线滑动
  • --pct-majornav :主要导航事件,比如回退按钮、菜单按键

maxim

对 monkey 的改进,包括基于遍历规则,提高性能

https://github.com/zhangzhao4444/Maxim

AppCrawler

https://github.com/seveniruby/AppCrawler

环境要求
  • java 8
  • appium 1.8.x
安装方法
执行参数
  • capability设置:与appium一致
  • testcase:用于启动APP后的基础测试用例,可以理解为前置条件
  • selectedList:遍历范围设定
  • triggerActions:特定条件触发执行动作的设置

执行参数比配置文件优先级更高

自动化支持–testcase

testcase 的完整形态

  • given:所有先决条件
  • when:先决条件成立后的行为
  • then:断言集合

testcase 的简写形态

  • xpath:对应 when 里的 xpath
  • action:对应 when 里的 action

动作支持–action
  • back:后退
  • backApp:回退到当前的 APP,默认等价于 back 行为,可定制
  • monkey:随机事件
  • xxx():执行代码
Thread.sleep(2000)
driver.swipe(0.9, 0.5, 0.1, 0.5)
  • click:点击
  • longTap:长按
自动遍历支持
  • selectedList:需要被遍历的元素范围
  • firstList:优先被点击
  • lastList:最后被点击
  • tagLimitMax:同祖先(同类型)的元素最多点击多少次
  • backButton:当所有元素都被点击后,默认后退控件定位
  • blackList:黑名单
  • maxDepth:遍历的最大深度
触发器

triggerActions:

  • 需要特定次数的触发动作
  • 通常用于处理弹框
  • xpath:指定具体按钮
  • action:动作
  • times:规则的使用次数

自动遍历过程
  1. 信息获取
  • 把当前APP的界面 dump 为 xml 结构
  1. 获取待遍历元素
  • 遍历范围 selectedList
  • 过滤黑名单、小空间、不可见控件 blackList
  • 重排控件顺序 firstList、lastList
  • 跳过已点击,以及跳过限制点击的控件 tagLimit
  • 根据匹配的规则执行 action
  1. 循环上面的步骤
日志记录

执行后,生成一个日志文件夹,保存所有的点击截图

其中日志记录信息都保存在 appcrawler.log 文件中

高级用法

生成 demo.yaml 文件: appcrawler --demo

指定配置文件: -c 配置文件路径

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

肖遥Janic

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值