2022-09-07 19:50:18 INFO [AppCrawler$.326.addLogFile] ------------------------------------------------- appcrawler v2.7.4 全平台自动遍历测试工具 Q&A: https://ceshiren.com/c/opensource/appcrawler author: 思寒_seveniruby 天马 霍格沃兹测试开发学社 ------------------------------------------------- 2022-09-07 19:50:18 INFO [AppCrawler$.329.addLogFile] result directory = 20220907195013_com.sankuai.meituan.takeoutnew 2022-09-07 19:50:18 DEBUG [AppCrawler$.44.getGlobalEncoding] default Charset=UTF-8 2022-09-07 19:50:18 DEBUG [AppCrawler$.45.getGlobalEncoding] default file.encoding=UTF-8 2022-09-07 19:50:18 DEBUG [AppCrawler$.46.getGlobalEncoding] project directory=/Users/sh00347ml/Documents/code 2022-09-07 19:50:18 DEBUG [Crawler.123.start] crawl config 2022-09-07 19:50:19 DEBUG [Crawler.124.start] --- capabilityDescription: "appium的capability通用配置,其中automationName代表自动化的驱动引擎,除了支持appium的\ 所有引擎外,额外增加了adb和selenium的支持" capability: appActivity: ".ui.page.boot.WelcomeActivity" appium: "http://127.0.0.1:4723/wd/hub" noReset: "true" dontStopAppOnReset: "false" appPackage: "com.sankuai.meituan.takeoutnew" fullReset: "false" waitAppLoadedTimeoutDescription: "隐式等待app加载完成的最大时间 ms" waitAppLoadedTimeout: 10000 waitAppLoadedDescription: "显式等待app加载完成的判断条件" waitAppLoaded: - given: [] when: null then: [] xpath: "//*[contains(@text, 'App')]" action: "" actions: [] times: -1 implicitlyWaitTestCaseDescription: "在测试用例执行阶段隐式等待一个控件出现的最大时间 ms" implicitlyWaitTestCase: 3000 implicitlyWaitCrawlDescription: "在遍历阶段隐式等待一个控件出现的最大时间 ms" implicitlyWaitCrawl: 0 testcaseDescription: "测试用例设置,用于遍历开始之前的一些前置操作,比如自动登录" testcase: name: "AppCrawler TestCase" steps: - given: [] when: null then: [] xpath: "/*/*" action: "Thread.sleep(1000)" actions: [] times: -1 maxTimeDescription: "最大运行时间" maxTime: 10800 maxDepthDescription: "默认的最大深度10, 结合baseUrl可很好的控制遍历的范围" maxDepth: 10 selectedListDescription: "默认遍历列表,只有出现在这个列表里的控件范围才会被遍历" selectedList: - given: [] when: null then: [] xpath: "//*[contains(name(), 'Button')]" action: "" actions: [] times: -1 - given: [] when: null then: [] xpath: "//*[contains(name(), 'Text') and @clickable='true' and string-length(@text)<10]" action: "" actions: [] times: -1 - given: [] when: null then: [] xpath: "//*[@clickable='true']//*[contains(name(), 'Text') and string-length(@text)<10]" action: "" actions: [] times: -1 - given: [] when: null then: [] xpath: "//*[contains(name(), 'Image') and @clickable='true']" action: "" actions: [] times: -1 - given: [] when: null then: [] xpath: "//*[@clickable='true']/*[contains(name(), 'Image')]" action: "" actions: [] times: -1 - given: [] when: null then: [] xpath: "//*[contains(name(), 'Image') and @name!='']" action: "" actions: [] times: -1 - given: [] when: null then: [] xpath: "//*[contains(name(), 'Text') and @name!='' and string-length(@label)<10]" action: "" actions: [] times: -1 - given: [] when: null then: [] xpath: "//a" action: "" actions: [] times: -1 - given: [] when: null then: [] xpath: "//*[contains(@class, 'Text') and @clickable='true' and string-length(@text)<10]" action: "" actions: [] times: -1 - given: [] when: null then: [] xpath: "//*[@clickable='true']//*[contains(@class, 'Text') and string-length(@text)<10]" action: "" actions: [] times: -1 - given: [] when: null then: [] xpath: "//*[contains(@class, 'Image') and @clickable='true']" action: "" actions: [] times: -1 - given: [] when: null then: [] xpath: "//*[@clickable='true']/*[contains(@class, 'Image')]" action: "" actions: [] times: -1 - given: [] when: null then: [] xpath: "//*[@clickable='true' and contains(@class, 'Button')]" action: "" 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 blackListDescription: "黑名单列表 matches风格, 默认排除内容包含2个数字的控件" blackList: - given: [] when: null then: [] xpath: ".*[0-9]{2}.*" action: "" actions: [] times: -1 - given: [] when: null then: [] xpath: "Get Music" action: "" actions: [] times: -1 firstListDescription: "优先遍历列表,同时出现在selectedList与firstList中的控件会被优先遍历" firstList: [] lastListDescription: "最后遍历列表,同时出现在selectedList与lastList中的控件会被最后遍历" lastList: - given: [] when: null then: [] xpath: "//*[@selected='true']/..//*" action: "" actions: [] times: -1 - given: [] when: null then: [] xpath: "//*[@selected='true']/../..//*" action: "" actions: [] times: -1 backButtonDescription: "后退按钮列表,默认在所有控件遍历完成后,才会最后点击后退按钮。目前具备了自动判断返回按钮的能力,默认不需要配置" backButton: - given: [] when: null then: [] xpath: "Navigate up" action: "" actions: [] times: -1 xpathAttributesDescription: "在生成一个控件的唯一定位符中应该包含的关键属性" xpathAttributes: - "name()" - "name" - "label" - "value" - "resource-id" - "content-desc" - "text" - "id" - "name" - "innerText" - "tag" - "class" sortByAttributeDescription: "陆续根据属性进行遍历排序微调,depth表示从dom中最深层的控件开始遍历,list表示dom中列表优先,\ selected表示菜单最后遍历,这是默认规则,一般不需要改变" sortByAttribute: - "depth" - "list" - "selected" findByDescription: "默认生成控件唯一定位符的表达式风格,可选项 default|android|id|xpath,默认会自动判断是否使用android定\ 位或者ios定位" findBy: "xpath" baseUrlDescription: "设置一个起始点,从这个起始点开始计算深度,比如默认从登录后的界面开始计算" baseUrl: [] appWhiteListDescription: "app白名单,允许在这些app里进行遍历" appWhiteList: [] urlBlackListDescription: "url黑名单,用于排除某些页面的遍历" urlBlackList: [] urlWhiteListDescription: "url白名单,仅在这些界面内遍历" urlWhiteList: [] beforeRestartDescription: "在重启session之前做的事情" beforeRestart: [] beforeElementDescription: "在遍历每个控件之前默认执行的动作" beforeElement: [] afterElementDescription: "在遍历每个控件之后默认执行的动作" afterElement: [] afterElementWaitDescription: "在遍历每个控件之后默认等待的时间,用于等待新页面加载" afterElementWait: 1000 afterAllDescription: "在遍历完当前页面内的所有控件后,是否需要刷新或者滑动" afterAll: [] afterAllMaxDescription: "afterAll的最大重试次数,比如连续滑动2次都没新元素即取消" afterAllMax: 2 tagLimitMaxDescription: "相似控件最多点击几次" tagLimitMax: 20 tagAttributesDescription: "用于判断是否是相似控件的关键属性,祖先节点具备相同的属性认为是相似" tagAttributes: - "name()" - "name" - "label" - "resource-id" - "content-desc" - "id" - "name" - "tag" - "class" tagLimitDescription: "设置部分相似控件的最大遍历次数" tagLimit: - given: [] when: null then: [] xpath: "确定" action: "" actions: [] times: 1000 - given: [] when: null then: [] xpath: "取消" action: "" actions: [] times: 1000 - given: [] when: null then: [] xpath: "share_comment_guide_btn_name" action: "" actions: [] times: 1000 - given: [] when: null then: [] xpath: "//*[contains(@class, 'List')]//*" action: "" actions: [] times: 2 assertGlobalDescription: "全局断言" assertGlobal: [] suiteNameDescription: "报告中的测试套件名字可以由列表内的控件内容替换,增强报告中关键界面的辨识度" suiteName: - "//*[@selected='true']//android.widget.TextView/@text" screenshotDescription: "是否截图" screenshot: true reportTitleDescription: "报告的title" reportTitle: "AppCrawler" resultDirDescription: "结果目录,如果为空会自动创建对应时间戳_报名的结果目录" resultDir: "20220907195013_com.sankuai.meituan.takeoutnew" showCancelDescription: "是否展示跳过的控件记录" showCancel: true pluginListDescription: "插件列表,暂时禁用,太高级了,很多人不会用" Description: "。在selectedList firstList lastList等很多配置中,需要填充的是测试步骤Step类型。Step类型由given(\ 满足条件)when(条件满足的行为)then(断言)三部分组成。Step可以简化为xpath(定位表达式,支持xpath 正则 包含关系)与action(点击\ \ 输入等行为)。" pluginList: [] 2022-09-07 19:50:19 INFO [Crawler.126.start] set xpath attribute with List(name(), name, label, value, resource-id, content-desc, text, id, name, innerText, tag, class) 2022-09-07 19:50:19 INFO [Crawler.130.start] set tag attribute with List(name(), name, label, resource-id, content-desc, id, name, tag, class) 2022-09-07 19:50:19 INFO [Crawler.100.$anonfun$loadPlugins$3] com.ceshiren.appcrawler.plugin.TagLimitPlugin@51cd7ffc 2022-09-07 19:50:19 INFO [Crawler.100.$anonfun$loadPlugins$3] com.ceshiren.appcrawler.plugin.ReportPlugin@30d4b288 2022-09-07 19:50:19 INFO [Crawler.100.$anonfun$loadPlugins$3] com.ceshiren.appcrawler.plugin.FreeMind@4cc6fa2a 2022-09-07 19:50:19 INFO [Plugin.22.init] com.ceshiren.appcrawler.plugin.TagLimitPlugin init 2022-09-07 19:50:19 INFO [Plugin.22.init] com.ceshiren.appcrawler.plugin.ReportPlugin init 2022-09-07 19:50:19 INFO [Plugin.22.init] com.ceshiren.appcrawler.plugin.FreeMind init 2022-09-07 19:50:19 INFO [ReportFactory$.33.initReportPath] reportPath=/Users/sh00347ml/Documents/code/appMonkey/AppCrawler/20220907195013_com.sankuai.meituan.takeoutnew 2022-09-07 19:50:19 INFO [ReportFactory$.35.initReportPath] testcaseDir=/Users/sh00347ml/Documents/code/appMonkey/AppCrawler/20220907195013_com.sankuai.meituan.takeoutnew/tmp/ 2022-09-07 19:50:19 INFO [ReportFactory$.38.initReportPath] create /Users/sh00347ml/Documents/code/appMonkey/AppCrawler/20220907195013_com.sankuai.meituan.takeoutnew/tmp directory 2022-09-07 19:50:19 INFO [Crawler.137.start] prepare setup Appium 2022-09-07 19:50:19 INFO [Crawler.299.setupCrawler] afterAllMax=2 2022-09-07 19:50:20 INFO [Crawler.308.setupDriver] 2022-09-07 19:50:20 INFO [Crawler.344.setupDriver] use AppiumClient 2022-09-07 19:50:20 INFO [AppiumClient.45.] Capabilities {app: , appActivity: .ui.page.boot.WelcomeActivity, appPackage: com.sankuai.meituan.takeoutnew, appium: http://127.0.0.1:4723/wd/hub, deviceName: demo, dontStopAppOnReset: false, fullReset: false, newCommandTimeout: 120, noReset: true} 2022-09-07 19:50:28 INFO [SeleniumDriver.58.getDeviceInfo] screenWidth=1080 screenHeight=2320 2022-09-07 19:50:28 INFO [AppiumClient.76.] capture dir = /Users/sh00347ml/Documents/code/appMonkey/AppCrawler/. 2022-09-07 19:50:28 INFO [Crawler.349.setupDriver] com.ceshiren.appcrawler.driver.AppiumClient@35ee466f 2022-09-07 19:50:28 DEBUG [DynamicEval$.113.load] first import 2022-09-07 19:50:35 INFO [Crawler.148.start] platformName= driver=com.ceshiren.appcrawler.driver.AppiumClient@35ee466f 2022-09-07 19:50:35 INFO [Crawler.149.start] ------------------------------------------------- appcrawler v2.7.4 全平台自动遍历测试工具 Q&A: https://ceshiren.com/c/opensource/appcrawler author: 思寒_seveniruby 天马 霍格沃兹测试开发学社 ------------------------------------------------- 2022-09-07 19:50:35 INFO [Crawler.179.waitAppLoaded] start wait app loaded timeout = 10000 2022-09-07 19:50:36 INFO [Crawler.185.$anonfun$waitAppLoaded$1] wait for app loaded 2022-09-07 19:50:36 INFO [Crawler.693.refreshPage] refresh page 2022-09-07 19:50:36 INFO [ReactWebDriver.88.getPageSourceWithRetry] start to get page source from appium 2022-09-07 19:50:45 INFO [LogicUtils$.91.asyncTask] use time 10.008 seconds name=waitAppLoaded result=error 2022-09-07 19:50:45 ERROR [LogicUtils$.98.asyncTask] 10 seconds timeout 2022-09-07 19:50:45 INFO [Crawler.199.waitAppLoaded] wait finish 2022-09-07 19:50:45 INFO [Crawler.152.start] driver=null 2022-09-07 19:50:45 INFO [Crawler.153.start] get screen info 2022-09-07 19:51:16 INFO [LogicUtils$.91.asyncTask] use time 40.008 seconds name=getPageSource result=error 2022-09-07 19:51:16 ERROR [LogicUtils$.98.asyncTask] 40 seconds timeout 2022-09-07 19:51:16 ERROR [ReactWebDriver.128.$anonfun$getPageSourceWithRetry$1] get page source error 2022-09-07 19:51:16 ERROR [ReactWebDriver.129.$anonfun$getPageSourceWithRetry$1] null 2022-09-07 19:51:16 WARN [ReactWebDriver.133.$anonfun$getPageSourceWithRetry$1] retry 1 times after 5s 2022-09-07 19:52:01 INFO [LogicUtils$.91.asyncTask] use time 40.008 seconds name=getPageSource result=error 2022-09-07 19:52:01 ERROR [LogicUtils$.98.asyncTask] 40 seconds timeout 2022-09-07 19:52:01 ERROR [ReactWebDriver.128.$anonfun$getPageSourceWithRetry$1] get page source error 2022-09-07 19:52:01 ERROR [ReactWebDriver.129.$anonfun$getPageSourceWithRetry$1] null 2022-09-07 19:52:01 WARN [ReactWebDriver.133.$anonfun$getPageSourceWithRetry$1] retry 2 times after 5s 2022-09-07 19:52:06 WARN [Crawler.702.refreshPage] page source get fail, go back 2022-09-07 19:53:47 INFO [SeleniumDriver.58.getDeviceInfo] screenWidth=1080 screenHeight=2320 2022-09-07 19:53:47 INFO [Crawler.693.refreshPage] refresh page 2022-09-07 19:53:47 INFO [ReactWebDriver.88.getPageSourceWithRetry] start to get page source from appium 2022-09-07 19:53:50 INFO [LogicUtils$.91.asyncTask] use time 2.4 seconds name=getPageSource result=error 2022-09-07 19:53:50 ERROR [LogicUtils$.13.handleException] org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: Could not proxy. Proxy error: Could not proxy command to the remote server. Original error: socket hang up Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'SH00347MLs-MacBook-Pro.local', ip: 'fe80:0:0:0:445:979e:bdcb:1bce%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '12.4', java.version: '1.8.0_321' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.page.boot.WelcomeActivity, appPackage: com.sankuai.meituan.takeoutnew, appium: http://127.0.0.1:4723/wd/hub, databaseEnabled: false, desired: {app: , appActivity: .ui.page.boot.WelcomeActivity, appPackage: com.sankuai.meituan.takeoutnew, appium: http://127.0.0.1:4723/wd/hub, deviceName: demo, dontStopAppOnReset: false, fullReset: false, newCommandTimeout: 120, noReset: true, platformName: android}, deviceApiLevel: 30, deviceManufacturer: vivo, deviceModel: V2072A, deviceName: 3100052936001UZ, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: 3100052936001UZ, dontStopAppOnReset: false, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, newCommandTimeout: 120, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 84, takesScreenshot: true, viewportRect: {height: 2236, left: 0, top: 84, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: fccfd03f-c4c1-4b28-81d7-d2587613daef 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] java.util.concurrent.FutureTask.report(FutureTask.java:122) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] java.util.concurrent.FutureTask.get(FutureTask.java:206) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.utils.LogicUtils$.$anonfun$asyncTask$1(LogicUtils.scala:75) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] scala.util.Try$.apply(Try.scala:210) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.utils.LogicUtils$.asyncTask(LogicUtils.scala:66) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.driver.ReactWebDriver.$anonfun$getPageSourceWithRetry$1(ReactWebDriver.scala:93) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:190) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.driver.ReactWebDriver.getPageSourceWithRetry(ReactWebDriver.scala:92) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.core.Crawler.refreshPage(Crawler.scala:694) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.core.Crawler.firstRefresh(Crawler.scala:256) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.core.Crawler.start(Crawler.scala:159) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:319) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:286) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.AppCrawler$.main(AppCrawler.scala:73) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.AppCrawler.main(AppCrawler.scala) 2022-09-07 19:53:50 ERROR [LogicUtils$.16.handleException] find more cause 2022-09-07 19:53:50 ERROR [LogicUtils$.13.handleException] An unknown server-side error occurred while processing the command. Original error: Could not proxy. Proxy error: Could not proxy command to the remote server. Original error: socket hang up Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'SH00347MLs-MacBook-Pro.local', ip: 'fe80:0:0:0:445:979e:bdcb:1bce%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '12.4', java.version: '1.8.0_321' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.page.boot.WelcomeActivity, appPackage: com.sankuai.meituan.takeoutnew, appium: http://127.0.0.1:4723/wd/hub, databaseEnabled: false, desired: {app: , appActivity: .ui.page.boot.WelcomeActivity, appPackage: com.sankuai.meituan.takeoutnew, appium: http://127.0.0.1:4723/wd/hub, deviceName: demo, dontStopAppOnReset: false, fullReset: false, newCommandTimeout: 120, noReset: true, platformName: android}, deviceApiLevel: 30, deviceManufacturer: vivo, deviceModel: V2072A, deviceName: 3100052936001UZ, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: 3100052936001UZ, dontStopAppOnReset: false, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, newCommandTimeout: 120, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 84, takesScreenshot: true, viewportRect: {height: 2236, left: 0, top: 84, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: fccfd03f-c4c1-4b28-81d7-d2587613daef 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] java.lang.reflect.Constructor.newInstance(Constructor.java:423) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:250) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:45) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] org.openqa.selenium.remote.RemoteWebDriver.getPageSource(RemoteWebDriver.java:438) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.driver.AppiumClient.getPageSource(AppiumClient.scala:236) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.driver.ReactWebDriver.$anonfun$getPageSourceWithRetry$2(ReactWebDriver.scala:93) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.utils.LogicUtils$$anon$1.call(LogicUtils.scala:69) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] java.util.concurrent.FutureTask.run(FutureTask.java:266) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 2022-09-07 19:53:50 ERROR [LogicUtils$.14.$anonfun$handleException$1] java.lang.Thread.run(Thread.java:750) 2022-09-07 19:53:50 ERROR [LogicUtils$.18.handleException] exception finish 2022-09-07 19:53:50 ERROR [ReactWebDriver.128.$anonfun$getPageSourceWithRetry$1] get page source error 2022-09-07 19:53:50 ERROR [ReactWebDriver.129.$anonfun$getPageSourceWithRetry$1] org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: Could not proxy. Proxy error: Could not proxy command to the remote server. Original error: socket hang up Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'SH00347MLs-MacBook-Pro.local', ip: 'fe80:0:0:0:445:979e:bdcb:1bce%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '12.4', java.version: '1.8.0_321' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.page.boot.WelcomeActivity, appPackage: com.sankuai.meituan.takeoutnew, appium: http://127.0.0.1:4723/wd/hub, databaseEnabled: false, desired: {app: , appActivity: .ui.page.boot.WelcomeActivity, appPackage: com.sankuai.meituan.takeoutnew, appium: http://127.0.0.1:4723/wd/hub, deviceName: demo, dontStopAppOnReset: false, fullReset: false, newCommandTimeout: 120, noReset: true, platformName: android}, deviceApiLevel: 30, deviceManufacturer: vivo, deviceModel: V2072A, deviceName: 3100052936001UZ, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: 3100052936001UZ, dontStopAppOnReset: false, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, newCommandTimeout: 120, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 84, takesScreenshot: true, viewportRect: {height: 2236, left: 0, top: 84, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: fccfd03f-c4c1-4b28-81d7-d2587613daef 2022-09-07 19:53:50 WARN [ReactWebDriver.133.$anonfun$getPageSourceWithRetry$1] retry 1 times after 5s 2022-09-07 19:53:55 ERROR [LogicUtils$.13.handleException] org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: Could not proxy. Proxy error: 'GET /wd/hub/session/fccfd03f-c4c1-4b28-81d7-d2587613daef/source' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'SH00347MLs-MacBook-Pro.local', ip: 'fe80:0:0:0:445:979e:bdcb:1bce%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '12.4', java.version: '1.8.0_321' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.page.boot.WelcomeActivity, appPackage: com.sankuai.meituan.takeoutnew, appium: http://127.0.0.1:4723/wd/hub, databaseEnabled: false, desired: {app: , appActivity: .ui.page.boot.WelcomeActivity, appPackage: com.sankuai.meituan.takeoutnew, appium: http://127.0.0.1:4723/wd/hub, deviceName: demo, dontStopAppOnReset: false, fullReset: false, newCommandTimeout: 120, noReset: true, platformName: android}, deviceApiLevel: 30, deviceManufacturer: vivo, deviceModel: V2072A, deviceName: 3100052936001UZ, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: 3100052936001UZ, dontStopAppOnReset: false, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, newCommandTimeout: 120, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 84, takesScreenshot: true, viewportRect: {height: 2236, left: 0, top: 84, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: fccfd03f-c4c1-4b28-81d7-d2587613daef 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] java.util.concurrent.FutureTask.report(FutureTask.java:122) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] java.util.concurrent.FutureTask.get(FutureTask.java:206) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.utils.LogicUtils$.$anonfun$asyncTask$1(LogicUtils.scala:75) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] scala.util.Try$.apply(Try.scala:210) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.utils.LogicUtils$.asyncTask(LogicUtils.scala:66) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.driver.ReactWebDriver.$anonfun$getPageSourceWithRetry$1(ReactWebDriver.scala:93) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] scala.collection.immutable.Range.foreach$mVc$sp(Range.scala:190) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.driver.ReactWebDriver.getPageSourceWithRetry(ReactWebDriver.scala:92) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.core.Crawler.refreshPage(Crawler.scala:694) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.core.Crawler.firstRefresh(Crawler.scala:256) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.core.Crawler.start(Crawler.scala:159) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.AppCrawler$.startCrawl(AppCrawler.scala:319) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.AppCrawler$.parseParams(AppCrawler.scala:286) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.AppCrawler$.main(AppCrawler.scala:73) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.AppCrawler.main(AppCrawler.scala) 2022-09-07 19:53:55 ERROR [LogicUtils$.16.handleException] find more cause 2022-09-07 19:53:55 ERROR [LogicUtils$.13.handleException] An unknown server-side error occurred while processing the command. Original error: Could not proxy. Proxy error: 'GET /wd/hub/session/fccfd03f-c4c1-4b28-81d7-d2587613daef/source' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'SH00347MLs-MacBook-Pro.local', ip: 'fe80:0:0:0:445:979e:bdcb:1bce%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '12.4', java.version: '1.8.0_321' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.page.boot.WelcomeActivity, appPackage: com.sankuai.meituan.takeoutnew, appium: http://127.0.0.1:4723/wd/hub, databaseEnabled: false, desired: {app: , appActivity: .ui.page.boot.WelcomeActivity, appPackage: com.sankuai.meituan.takeoutnew, appium: http://127.0.0.1:4723/wd/hub, deviceName: demo, dontStopAppOnReset: false, fullReset: false, newCommandTimeout: 120, noReset: true, platformName: android}, deviceApiLevel: 30, deviceManufacturer: vivo, deviceModel: V2072A, deviceName: 3100052936001UZ, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: 3100052936001UZ, dontStopAppOnReset: false, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, newCommandTimeout: 120, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 84, takesScreenshot: true, viewportRect: {height: 2236, left: 0, top: 84, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: fccfd03f-c4c1-4b28-81d7-d2587613daef 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] java.lang.reflect.Constructor.newInstance(Constructor.java:423) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] org.openqa.selenium.remote.http.W3CHttpResponseCodec.createException(W3CHttpResponseCodec.java:187) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:122) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] org.openqa.selenium.remote.http.W3CHttpResponseCodec.decode(W3CHttpResponseCodec.java:49) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] io.appium.java_client.remote.AppiumCommandExecutor.execute(AppiumCommandExecutor.java:250) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:552) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] io.appium.java_client.DefaultGenericMobileDriver.execute(DefaultGenericMobileDriver.java:45) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:1) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] io.appium.java_client.android.AndroidDriver.execute(AndroidDriver.java:1) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] org.openqa.selenium.remote.RemoteWebDriver.getPageSource(RemoteWebDriver.java:438) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.driver.AppiumClient.getPageSource(AppiumClient.scala:236) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.driver.ReactWebDriver.$anonfun$getPageSourceWithRetry$2(ReactWebDriver.scala:93) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] com.ceshiren.appcrawler.utils.LogicUtils$$anon$1.call(LogicUtils.scala:69) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] java.util.concurrent.FutureTask.run(FutureTask.java:266) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) 2022-09-07 19:53:55 ERROR [LogicUtils$.14.$anonfun$handleException$1] java.lang.Thread.run(Thread.java:750) 2022-09-07 19:53:55 ERROR [LogicUtils$.18.handleException] exception finish 2022-09-07 19:53:55 ERROR [ReactWebDriver.128.$anonfun$getPageSourceWithRetry$1] get page source error 2022-09-07 19:53:55 ERROR [ReactWebDriver.129.$anonfun$getPageSourceWithRetry$1] org.openqa.selenium.WebDriverException: An unknown server-side error occurred while processing the command. Original error: Could not proxy. Proxy error: 'GET /wd/hub/session/fccfd03f-c4c1-4b28-81d7-d2587613daef/source' cannot be proxied to UiAutomator2 server because the instrumentation process is not running (probably crashed). Check the server log and/or the logcat output for more details Build info: version: 'unknown', revision: 'unknown', time: 'unknown' System info: host: 'SH00347MLs-MacBook-Pro.local', ip: 'fe80:0:0:0:445:979e:bdcb:1bce%en0', os.name: 'Mac OS X', os.arch: 'x86_64', os.version: '12.4', java.version: '1.8.0_321' Driver info: io.appium.java_client.android.AndroidDriver Capabilities {app: , appActivity: .ui.page.boot.WelcomeActivity, appPackage: com.sankuai.meituan.takeoutnew, appium: http://127.0.0.1:4723/wd/hub, databaseEnabled: false, desired: {app: , appActivity: .ui.page.boot.WelcomeActivity, appPackage: com.sankuai.meituan.takeoutnew, appium: http://127.0.0.1:4723/wd/hub, deviceName: demo, dontStopAppOnReset: false, fullReset: false, newCommandTimeout: 120, noReset: true, platformName: android}, deviceApiLevel: 30, deviceManufacturer: vivo, deviceModel: V2072A, deviceName: 3100052936001UZ, deviceScreenDensity: 480, deviceScreenSize: 1080x2400, deviceUDID: 3100052936001UZ, dontStopAppOnReset: false, fullReset: false, javascriptEnabled: true, locationContextEnabled: false, networkConnectionEnabled: true, newCommandTimeout: 120, noReset: true, pixelRatio: 3, platform: LINUX, platformName: Android, platformVersion: 11, statBarHeight: 84, takesScreenshot: true, viewportRect: {height: 2236, left: 0, top: 84, width: 1080}, warnings: {}, webStorageEnabled: false} Session ID: fccfd03f-c4c1-4b28-81d7-d2587613daef 2022-09-07 19:53:55 WARN [ReactWebDriver.133.$anonfun$getPageSourceWithRetry$1] retry 2 times after 5s 2022-09-07 19:54:00 WARN [Crawler.702.refreshPage] page source get fail, go back 2022-09-07 19:54:00 INFO [Crawler.257.firstRefresh] first refresh 2022-09-07 19:54:00 INFO [Crawler.756.beforeElementAction] .tag=Start.id=Start.name=Start 2022-09-07 19:54:00 TRACE [Crawler.762.beforeElementAction] beforeElementAction 2022-09-07 19:54:00 INFO [Crawler.1043.doElementAction] current index = 0 2022-09-07 19:54:00 INFO [Crawler.1044.doElementAction] current xpath = /*/* 2022-09-07 19:54:00 INFO [Crawler.1045.doElementAction] current action = _Start 2022-09-07 19:54:00 INFO [Crawler.1046.doElementAction] current element = .tag=Start.id=Start.name=Start 2022-09-07 19:54:00 INFO [Crawler.1047.doElementAction] current url = 2022-09-07 19:54:00 INFO [Crawler.1048.doElementAction] current tag path = 2022-09-07 19:54:00 INFO [Crawler.1049.doElementAction] current file name = .tag=Start.id=Start.name=Start