AppCrawler自动遍历工具,适用于移动端
AppCrawler下载链接:https://github.com/seveniruby/AppCrawler,主要用途是回归遍历。原则从中间元素开始遍历
AppCrawler框架引擎
appium
adb
selenium
uiautomator2Appcra
环境准备
jdk:安装与环境配置
appium:软件安装并启用
模拟器或手机已连接
AppCrawler:已经下载
执行事件

1、指定软件包命令 java -jar appcrawler-2.4.0-jar-with-dependencies.jar --capability "appPackage=com.xueqiu.android, appActivity=.view.WelcomeActivityAlias" 2、生成配置样本demo文件 java -jar appcrawler-2.4.0-jar-with-dependencies.jar --demo 3、执行配置模板用例 java -jar appcrawler-2.4.0-jar-with-dependencies.jar -c demo.yml 4、指定遍历报告输出目录 java -jar appcrawler-2.4.0-jar-with-dependencies.jar -c demo.yml -o /tmp
demo样式模板,另存格式要设置为utf8,不然会报错:Exception in thread "main" java.nio.charset.MalformedInputException: Input l

--- pluginList: [] saveScreen: true reportTitle: "" resultDir: "20220609183931" waitLoading: 500 waitLaunch: 6000 showCancel: true maxTime: 10800 maxDepth: 6 capability: noReset: "true" fullReset: "false" appium: "http://127.0.0.1:4723/wd/hub" appPackage: "com.xueqiu.android" appActivity: ".view.WelcomeActivityAlias" testcase: name: "xueqiuApp AppCrawler" steps: - xpath: "//*[@text='行情']" action: click selectedList: - xpath: "//*[contains(@resource-id, 'stock_index_quote_view_layout')]//*[@clickable='true']" - xpath: "//*[contains(@resource-id, 'content_recycler')]//*[@clickable='true']" firstList: - xpath: "//*[contains(@resource-id, 'content_recycler')]//*[@clickable='true']" lastList: - given: [] when: null then: [] xpath: "//*[@selected='true']/..//*" action: null actions: [] times: 0 - given: [] when: null then: [] xpath: "//*[@selected='true']/../..//*" action: null actions: [] times: 0 backButton: - given: [] when: null then: [] xpath: "Navigate up" action: null actions: [] times: 0 triggerActions: - 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: []
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 终于写完轮子一部分:tcp代理 了,记录一下
· 【杭电多校比赛记录】2025“钉耙编程”中国大学生算法设计春季联赛(1)