关于测试工具:0317-APP自动遍历测试技术

6次阅读

共计 1528 个字符,预计需要花费 4 分钟才能阅读完成。

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/zhangzhao4…

AppCrawler

https://github.com/seveniruby…

环境要求

  • java 8
  • appium 1.8.x

装置办法

  • 间接下载:https://pan.baidu.com/s/1dE0JDCH
  • 从源代码编译

执行参数

  • 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