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
安装方法
- 直接下载: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 配置文件路径
03-17 APP自动遍历测试技术相关推荐
- 怎么通过name配置button_利器 | AppCrawler 自动遍历测试实践(二):定制化配置
终于到了"啥也不干躺在家就能给社会做贡献"的时候,但有梦想的测试人从不会让自己的生活变得无聊!与其宅在家里数瓜子壳,还不如利用整块时间提升测试开发技能! 定制化配置 自动遍历测试技 ...
- 初探自动遍历测试工具-AppCrawler
1.简介 1.1 概要 AppCrawler是由TesterHome联合创始人黄延胜(思寒)大佬开源的一个项目,通过名字我们大概也能猜出个方向,Crawler是爬虫的意思,App的爬虫,遍历App:官 ...
- 利器 | AppCrawler 自动遍历测试工具实践(一)
简介 1.1 概要 AppCrawler 是由霍格沃兹测试学院校长思寒开源的一个项目,通过名字我们大概也能猜出个方向,Crawler 是爬虫的意思,App 的爬虫,遍历 App : 官方 GitHub ...
- AppCrawler自动遍历测试
AppCrawler 是由 seveniruby开源的一个自动遍历测试工具,谷歌有一个叫App Crawler 的遍历工具.AppCrawler具有很大的灵活性,可以自由控制测试页面,控件类型,测试深 ...
- 自动遍历测试方法及常见技术
文章目录 一.常见问题 二.测试痛点 三.思考与改进 四.常见的自动遍历工具 五.Maxim的使用 5.1 环境预备 5.2 运行方法 5.3 参数说明 5.4 高级用法详解 5.5 常用的配置 5. ...
- App/H5/小程序测试技术
本节大纲 ØApp测试概述与流程 ØApp测试策略详解 ØH5测试与小程序测试概述 ØH5测试与小程序测试技术详解 01 App测试概述与流程 定义 1.手机测试 Ø 手机测试是一个很大的题目,涉及到 ...
- 06- 移动端APP兼容性测试以及APP兼容性测试手机选择与云测试技术
在开始测试APP之前,应该考虑什么问题?或者如何选择设备?多少部手机测试兼容性最佳? 兼容性测试手机数量:主测手机 1 ,2(根据人员),辅助测试手机:用于兼容性测试.(50-60台最佳,至少5-20 ...
- APP推广助手,自动邀请码技术分享
自动邀请码技术在APP中起的作用,一句概括:追踪用户来源. 那么追踪用户来源的意义何在呢? 对于开发人员来可能并不关心这些问题,但是我们的APP开发出来,必定会面临一个环节,那就是推广.追踪用户来源作 ...
- 【软件测试03】APP测试理论集合
目录 APP测试点: / 1 /软件权限 / 2 /安装与卸载安全性 / 3 /数据安全性 / 4 /图形测试 / 5 / 功能测试 / 6 / 运行 / 7 /应用的前后台切换 / 8 /免登录 / ...
最新文章
- 别再用 BeanUtils 了,这款 PO VO DTO 转换神器不香么?
- 无言的鞭策:日本20年19人获自然科学诺奖
- css选择器匹配没有属性x的元素[重复]
- Two Paths CodeForces - 14D(暴力+树的直径)
- POJ1201 区间
- appium 设置参数
- 开源web应用防火墙 - Naxsi
- python随机化序列与设置随机种子
- JQuery使用deferreds串行多个ajax请求
- unity3D协程(Coroutine)原理深入剖析
- 建立 CLR Stored Procedure/Function 的小範例
- Atitit 字符串模板与 字符串插值 目录 1.1. 字符串插值是将字符串中的占位符替换为局域变量的过程	1 1.2. 模板字面量 是允许嵌入表达式的字符串字面量	1 1.3. 格式化字符串[编辑
- html+div+css+jquery+javascript的关系
- 如何解决Win10应用商店代码:0x80131500错误
- VR专业名字解释_羊豆豆_新浪博客
- 使用XUL开发跨平台桌面应用
- 软件测试经理,高级管理退休后,给我小白指点面试迷津!
- PAZU -- 4Fang WEB 打印控件
- hbase1.xx版本出现元数据不一致情况处理
- 人和计算机比赛下棋结果,人机大战趣谈:会下棋的电脑 像人一样聪明