自动化遍历-appcrawler

下载appclawler

下载地址:https://pan.baidu.com/s/1dE0JDCH#list/path=%2F

查看帮助文档:

java -jar appcrawler-2.4.0-jar-with-dependencies.jar

Usage: appcrawler [options]

  -a, --app <value>        Android或者iOS的文件地址, 可以是网络地址, 赋值给appium的app选项
  -e, --encoding <value>   set encoding, such as UTF-8 GBK
  -c, --conf <value>       配置文件地址
  -p, --platform <value>   平台类型android或者ios, 默认会根据app后缀名自动判断
  -t, --maxTime <value>    最大运行时间. 单位为秒. 超过此值会退出. 默认最长运行3个小时
  -u, --appium <value>     appium的url地址
  -o, --output <value>     遍历结果的保存目录. 里面会存放遍历生成的截图, 思维导图和日志
  --capability k1=v1,k2=v2...
                           appium capability选项, 这个参数会覆盖-c指定的配置模板参数, 用于在模板配置之上的参数微调
  -r, --report <value>     输出html和xml报告
  --template <value>       输出代码模板
  --master <value>         master的diff.yml文件地址
  --candidate <value>      candidate环境的diff.yml文件
  --diff                   执行diff对比
  -vv, --verbose           是否展示更多debug信息
  --demo                   生成demo配置文件学习使用方法
  --help
示例
appcrawler -a xueqiu.apk
appcrawler -a xueqiu.apk --capability noReset=true
appcrawler -c conf/xueqiu.json -p android -o result/
appcrawler -c xueqiu.json --capability udid=[你的udid] -a Snowball.app
appcrawler -c xueqiu.json -a Snowball.app -u 4730
appcrawler -c xueqiu.json -a Snowball.app -u http://127.0.0.1:4730/wd/hub

生成demo例子

java -jar appcrawler-2.4.0-jar-with-dependencies.jar --demo

---
pluginList: []
saveScreen: true
reportTitle: "雪球自动化遍历"
resultDir: "./test"
waitLoading: 500
waitLaunch: 6000
showCancel: true
maxTime: 10800
maxDepth: 10
capability:
  noReset: "true"
  fullReset: "false"
  appium: "http://127.0.0.1:4723/wd/hub"
  appPackage: com.xueqiu.android
  appActivity: .view.WelcomeActivityAlias 
testcase:
  name: "TesterHome AppCrawler"
  steps:
  - xpath: 行情
    action: click
  - xpath: 龙虎榜
    action: click
    then: 
    - //*[contains(@text,'沪深上榜个股')]
selectedList:
- xpath: "//*[contains(name(), 'Text') and @clickable='true' and string-length(@text)<10]"
- xpath: "//*[@clickable='true']/*[contains(name(), 'Text') and string-length(@text)<10]"

firstList: []
lastList:
- xpath: "//*[@selected='true']/..//*" 
- xpath: "//*[@selected='true']/../..//*"
 
backButton:
- given: []
  when: null
  then: []
  xpath: "Navigate up"
  action: null
  actions: []
  times: 0
triggerActions:
- xpath: 净买入
  times: 10
- xpath: 总成交
  times: 10
- given: []
  when: null
  then: []
  xpath: "share_comment_guide_btn"
  action: null
  actions: []
  times: 0
xpathAttributes:
- "name"
- "label"
- "value"
- "resource-id"
- "content-desc"
- "instance"
- "text"
sortByAttribute:
- "depth"
- "list"
- "selected"
findBy: "default"
defineUrl: []
baseUrl: []
appWhiteList: []
urlBlackList: []
urlWhiteList: []
blackList:
- given: []
  when: null
  then: []
  xpath: ".*[0-9]{2}.*"
  action: null
  actions: []
  times: 0
beforeRestart: []
beforeElement:
- given: []
  when: null
  then: []
  xpath: "/*"
  action: "Thread.sleep(500)"
  actions: []
  times: 0
afterElement: []
afterPage: []
afterPageMax: 2
tagLimitMax: 2
tagLimit:
- given: []
  when: null
  then: []
  xpath: "确定"
  action: null
  actions: []
  times: 1000
- given: []
  when: null
  then: []
  xpath: "取消"
  action: null
  actions: []
  times: 1000
- given: []
  when: null
  then: []
  xpath: "share_comment_guide_btn_name"
  action: null
  actions: []
  times: 1000
assertGlobal: []

启动已经安装过的app

java -jar appcrawler-2.4.0-jar-with-dependencies.jar --capability "appPackage=com.xueqiu.android,appActivity=.view.WelcomeActivityAlias"

定位模式xpath

xpath:
    //*[@resource-id=‘xxxx’]
    //*[contains(@text, ‘密码’)]
正则:
    ^确定$
    ^.*输入密码
包含:
    请
    输入
    密码

自动化遍历支持

    selectedList:需要被遍历的元素范围 
    firstList:优先被点击
    lastList:最后被点击
    tagLimitMax:同祖先(同类型)的元素最多点击多少
    backButton:当所有元素都被点击后默认后退控件定位 
    blackList:黑名单
    maxDepth: 6 遍历的最大深度

触发器

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

猜你喜欢

转载自www.cnblogs.com/an5456/p/11488736.html