共计 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:规定的应用次数
主动遍历过程
- 信息获取
- 把以后 APP 的界面 dump 为 xml 构造
- 获取待遍历元素
- 遍历范畴 selectedList
- 过滤黑名单、小空间、不可见控件 blackList
- 重排控件程序 firstList、lastList
- 跳过已点击,以及跳过限度点击的控件 tagLimit
- 依据匹配的规定执行 action
- 循环下面的步骤
日志记录
执行后,生成一个日志文件夹,保留所有的点击截图
其中日志记录信息都保留在 appcrawler.log 文件中
高级用法
生成 demo.yaml 文件:appcrawler --demo
指定配置文件:-c 配置文件门路
正文完