Appcrawler是一个基于自动遍历的App爬虫工具,支持Android和IOS,支持真机和模拟器。最大的特点是灵活性高,可通过配置来设定遍历的规则。
配置文件格式
执行参数与配置文件
-
capability设置:与appium完全一致
-
testcase:用于启动app后的基础测试用例
-
selectedList:遍历范围设定
-
triggerActions:特定条件触发执行动作的设置
-
selectedList:需要被遍历的元素范围
-
firstList:优先被点击
-
lastList:最后被点击
-
tagLimitMax:同祖先(同类型)的元素最多点击多少次
-
backButton:当所有元素都被点击后默认后退控件定位
-
blackList:黑名单
-
maxDepth: 遍历的最大深度
配置的最小单元 测试用例模型
testcase的完整形态
-
given:所有的先决条件
-
when:先决条件成立后的行为
-
then:断言集合
testcase的简写形态
-
xpath:对应when里的xpath
-
action:对应when的action
执行参数比配置文件优先级别高
-
given 前提条件
-
when 执行动作
-
then 写断言
简写形态
-
xpath xpath支持xpath表达式、正则、包含
-
action 支持
xpath定义
-
xpath - //[@resource-id=‘xxxx’] - //[contains(@text, ‘密码’)]
-
正则 - ^确定$ - ^.*输入密码
-
包含 - 密码 - 输入 - 请
action定义
-
"" 只是截图记录
-
back 后退
-
backApp 回退到当前的app 默认等价于back行为 可定制
-
monkey 随机事件
-
click
-
longTap
-
xxx() 执行scala或者java代码 - Thread.sleep(3000) - driver.swipe(0.9, 0.5, 0.1, 0.5)
-
非以上所有行为是输入 xx ddd
完整配置文件
---
maxTimeDescription: "最大运行时间"
maxTime: 10800
maxDepthDescription: "默认的最大深度10, 结合baseUrl可很好的控制遍历的范围"
maxDepth: 10
capabilityDescription: "appium的capability通用配置,其中automationName代表自动化的驱动引擎,除了支持appium的\
所有引擎外,额外增加了adb和selenium的支持"
capability:
appActivity: ".ApiDemos"
appium: "http://127.0.0.1:4723/wd/hub"
noReset: "true"
appPackage: "io.appium.android.apis"
fullReset: "false"
testcaseDescription: "测试用例设置,用于遍历开始之前的一些前置操作,比如自动登录"
testcase:
name: "AppCrawler TestCase"
steps:
- given: []
when: null
then: []
xpath: "/*/*"
action: "Thread.sleep(1000)"
actions: []
times: -1
triggerActionsDescription: "在遍历过程中需要随时处理的一些操作,比如弹框、登录等"
triggerActions:
- given: []
when: null
then: []
xpath: "permission_allow_button"
action: ""
actions: []
times: 3
- given: []
when: null
then: []
xpath: "允许"
action: ""
actions: []
times: 3
selectedListDescription: "默认遍历列表,只有出现在这个列表里的控件范围才会被遍历"
selectedList:
- given: []
when: null
then: []

最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



