为 Android 运行 appium 测试时出现代理错误

Posted

技术标签:

【中文标题】为 Android 运行 appium 测试时出现代理错误【英文标题】:Getting Proxy error while running appium test for Android 【发布时间】:2019-03-29 16:40:26 【问题描述】:
Environment
- java client build version : 6.1.0 
- Appium server version : 1.7.1 
- Desktop OS/version used to run Appium if necessary: Windows 7 
- Node.js version : 6.4.1 
- Mobile platform/version under test: android/ 8.1.0 
- Real device or emulator/simulator: Real device 
- Selenium Version: 3.12.0
- TestNg Version : 6.14.3 

当我为 android 运行我的 appium 测试时,无法在真实设备上启动应用程序,在 appium 日志中出现代理错误,并且在控制台上出现错误,无法创建新会话。

是否需要任何网络设置如果是请指导需要设置什么样的设置..

Code To Reproduce Issue [ Good To Have ] 
public class launchApp 
AndroidDriver<WebElement> driver;

@BeforeClass
public void beforeClass() throws MalformedURLException, InterruptedException 
    DesiredCapabilities capab = new DesiredCapabilities();

    capab.setCapability("deviceName", "Redmi Note 5");
    capab.setCapability("udid", "35924c6f0804");
    capab.setCapability("platformName", "Android");
     capab.setCapability("automationName", "UiAutomator2");
    capab.setCapability("platformVersion", "8.1.0");
    capab.setCapability("appPackage", "com.miui.calculator");
    capab.setCapability("appActivity", "com.miui.calculator.cal.CalculatorActivity");
    driver = new AndroidDriver<WebElement>(new URL("http://0.0.0.0:4723/wd/hub"), capab);

     Thread.sleep(5000);


@Test
public void m1() throws InterruptedException 
    System.out.println("kfd");
    Thread.sleep(2000);




Console Exception:
org.openqa.selenium.WebDriverException: It is impossible to create a new session because 'createSession' which takes HttpClient, InputStream and long was not found or it is not accessible
Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:19:58.91Z'

Appium 服务器日志:

[info] [35m[Appium][39m Welcome to Appium v1.9.1
[info] [35m[Appium][39m Non-default server args:
[info] [35m[Appium][39m   sessionOverride: true
[info] [35m[Appium][39m Appium REST http interface listener started on 0.0.0.0:4723[info] [35m[HTTP][39m [37m-->[39m

[37mPOST[39m [37m/wd/集线器/会话[39m [信息] [35m[HTTP][39m [90m"desiredCapabilities":"appActivity":"com.miui.calculator.cal.CalculatorActivity","appPackage":"com.miui.calculator","platformVersion": "8.1.0","automationName":"UiAutomator2","platformName":"Android","deviceName":"35924c6f0804","capabilities":"alwaysMatch":"appium:appActivity":"com. miui.calculator.cal.CalculatorActivity","appium:appPackage":"com.miui.calculator","appium:automationName":"UiAutomator2","appium:deviceName":"35924c6f0804","platformName":"android" ,"appium:platformVersion":"8.1.0","firstMatch":[][39m [调试] [35m[W3C][39m 使用 args 调用 AppiumDriver.createSession(): ["appActivity":"com.miui.calculator.cal.CalculatorActivity","appPackage":"com.miui.calculator","platformVersion":"8.1.0","automationName":"UiAutomator2","platformName ":"Android","deviceName":"35924c6f0804",null,"alwaysMatch":"appium:appActivity":"com.miui.calculator.cal.CalculatorActivity","appium:appPackage":"com. miui.calculator","appium:automationName":"UiAutomator2","appium:deviceName":"35924c6f0804","platformName":"android","appium:platformVersion":"8.1.0","firstMatch": []] [调试] [35m[BaseDriver][39m 事件“newSessionRequested”记录在 1540389852349(19:34:12 GMT+0530(印度标准时间)) [info] [35m[Appium][39m 创建新的 AndroidUiautomator2Driver (v1.19.0) 会话 [信息] [35m [Appium] [39m 功能: [信息] [35m[Appium][39m 平台名称:android [信息] [35m [Appium] [39m appActivity:com.miui.calculator.cal.CalculatorActivity [信息] [35m [Appium] [39m appPackage:com.miui.calculator [信息] [35m[Appium][39m 自动化名称:UiAutomator2 [信息] [35m [Appium] [39m 设备名称:35924c6f0804 [信息] [35m [Appium] [39m平台版本:8.1.0 [调试] [35m[BaseDriver][39m W3C 功能 "alwaysMatch":"platformNa... 和 MJSONWP 所需功能 "appActivity":"com.miui.ca... 已提供 [调试] [35m[BaseDriver][39m 使用 W3C 功能创建会话:“alwaysMatch”:“platformNa ... [info] [35m[BaseDriver][39m 使用会话 id 创建的会话:fe068491-4817-474e-bcd5-6580d8909142[info] [35m[AndroidDriver][39m Java版本为:1.8.0_91 [info] [35m[AndroidDriver][39m 检索设备列表 [debug] [35m[ADB][39m 正在尝试查找已连接的 android 设备 [调试] [35m[ADB][39m 正在连接设备...[调试] [35m[ADB][39m 1 个设备已连接 [info] [35m[AndroidDriver][39m 正在寻找装有 Android '8.1.0' 的设备 [debug] [35m[ADB][39m 设置设备 id 为 35924c6f0804 [info] [35m[ADB][39m 获取设备平台版本 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell getprop ro.build.version.release'[调试] [35m[ADB][39m 当前设备属性“ro.build.version.release”: 8.1.0 [信息] [35m[AndroidDriver][39m 使用设备:35924c6f0804 [debug] [35m[ADB][39m 设置设备 id 为 35924c6f0804 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell getprop ro.build.version.sdk' [调试] [35m [ADB] [39m 当前设备属性'ro.build.version.sdk':27 [调试] [35m[ADB][39m 设备 API 级别:27 [warn] [35m[AndroidDriver][39m 没有应用发送,不解析包/活动 [info] [35m[ADB][39m 获取设备平台版本 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell getprop ro.build.version.release'[调试] [35m[ADB][39m 当前设备属性“ro.build.version.release”: 8.1.0 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell wm size'[debug] [35m[ADB][39m Running 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell wm 密度'[debug] [35m[ADB][39m Running 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell getprop ro.product.model'[调试] [35m[ADB][39m 当前设备属性 'ro.product.model': Redmi Note 5 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell getprop ro.product.manufacturer' [调试] [35m[ADB][39m 当前设备属性“ro.product.manufacturer”:小米 [调试] [35m[ADB][39m 设备 API 级别:27 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell am 强制停止 io.appium.uiautomator2.server'[debug] [35m[ADB][39m 检查应用 证书 C:\Users\Office\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-v1.18.0.apk [调试] [35m[ADB][39m 开始 'C:\Users\Office\AppData\Local\Android\Sdk\build-tools\28.0.3\apksigner.bat' 带参数 '["verify","--print-certs","C:\Users\Office\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium- uiautomator2-server-v1.18.0.apk"]'[调试] [35m[ADB][39m apksigner 标准输出:签名者 #1 证书 DN: EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=山景,ST=加利福尼亚,C=美国 [调试] [35m[ADB][39m Signer #1 证书 SHA-256 摘要:a40da80a59d170caa950cf15c18c454d47a39b26989d8b640ecd745ba71bf5dc [调试] [35m[ADB][39m 签名者#1 证书 SHA-1 摘要:61ed377e85d386a8dfee6b864bd85b0bfaa5af81 [调试] [35m[ADB][39m Signer #1 证书 MD5 摘要:e89b158e4bcf988ebd09eb83f5378e87 [调试] [35m [ADB] [39m 警告:META-INF/INDEX.LIST 不受签名保护。对这个 JAR 条目的未经授权的修改将不会 检测到。删除或移动 META-INF/ 之外的条目。 [调试] [35m [ADB] [39m 警告:META-INF/io.netty.versions.properties 不受签名保护。 不会检测到对此 JAR 条目的未经授权的修改。 删除或移动 META-INF/ 之外的条目。 [调试] [35m[ADB][39m [调试] [35m[ADB][39m 'C:\Users\Office\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server- v1.18.0.apk' 已经签署。 [调试] [35m[ADB][39m 检查 C:\Users\Office\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2 的应用程序证书-server-debug-androidTest.apk [调试] [35m[ADB][39m 开始 'C:\Users\Office\AppData\Local\Android\Sdk\build-tools\28.0.3\apksigner.bat' 带参数 '["verify","--print-certs","C:\Users\Office\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium- uiautomator2-server-debug-androidTest.apk"]'[调试] [35m[ADB][39m apksigner 标准输出:签名者 #1 证书 DN: EMAILADDRESS=android@android.com, CN=Android, OU=Android, O=Android, L=山景,ST=加利福尼亚,C=美国 [调试] [35m[ADB][39m Signer #1 证书 SHA-256 摘要:a40da80a59d170caa950cf15c18c454d47a39b26989d8b640ecd745ba71bf5dc [调试] [35m[ADB][39m 签名者#1 证书 SHA-1 摘要:61ed377e85d386a8dfee6b864bd85b0bfaa5af81 [调试] [35m[ADB][39m Signer #1 证书 MD5 摘要:e89b158e4bcf988ebd09eb83f5378e87 [调试] [35m[ADB][39m [调试] [35m[ADB][39m 'C:\Users\Office\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-调试-androidTest.apk' 已经签署。 [调试] [35m[ADB][39m 获取 io.appium.uiautomator2.server 的安装状态 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell pm list packages io.appium.uiautomator2.server'[debug] [35m[ADB][39m App已安装 [调试] [35m[ADB][39m 获取 'io.appium.uiautomator2.server' 的包信息 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell dumpsys 包 io.appium.uiautomator2.server'[debug] [35m[ADB][39m 已安装 'io.appium.uiautomator2.server' 包不需要升级 ('1.18.0' >= '1.18.0') [调试] [35m[ADB][39m 获取 io.appium.uiautomator2.server.test 的安装状态 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell pm list packages io.appium.uiautomator2.server.test'[debug] [35m[ADB][39m App is 已安装 [调试] [35m[ADB][39m 获取 'io.appium.uiautomator2.server.test' 的包信息 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell dumpsys 包 io.appium.uiautomator2.server.test'[警告] [35m[ADB][39m 无法读取 的版本代码 'C:\Users\Office\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-debug-androidTest.apk' 和/或“io.appium.uiautomator2.server.test” [警告] [35m[ADB][39m 无法读取 'C:\Users\Office\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium 的版本名称-uiautomator2-server-debug-androidTest.apk' 和/或“io.appium.uiautomator2.server.test”。假设正确的应用程序 版本已经安装 [调试] [35m[UiAutomator2][39m 等待长达 20000 毫秒的检测 'io.appium.uiautomator2.server.test/android.support.test.runner.AndroidJUnitRunner' 可用 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell pm list instrumentation'[调试] [35m[UiAutomator2][39m 仪表 'io.appium.uiautomator2.server.test/android.support.test.runner.AndroidJUnitRunner' 可用的 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 等待设备' [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 外壳回声 ping' [调试] [35m[AndroidDriver][39m 将设置 apk 推送到设备... [调试] [35m[ADB][39m 获取 io.appium.settings 的安装状态 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell pm list packages io.appium.settings'[调试] [35m[ADB][39m 应用未安装 [调试] [35m[ADB][39m App 'C:\Users\Office\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\io.appium.settings\app\build\outputs\apk \settings_apk-debug.apk' 未安装。安装 [调试] [35m[ADB][39m 设备 API 级别:27 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 安装-g C:\Users\Office\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\io.appium.settings\app\build\outputs\apk\settings_apk-debug.apk'[调试] [35m[ADB][39m 安装命令标准输出:成功 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell ps'[debug] [35m[ADB][39m Device API 等级:27 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell am start -W -n io.appium.settings/.Settings -a android.intent.action.MAIN -c android.intent.category.LAUNCHER -f 0x10200000'[debug] [35m[ADB][39m 设备 API 级别:27 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell appops 设置 io.appium.settings android:mock_location 允许' [警告] [35m[AndroidDriver][39m setDeviceLanguageCountry 需要语言或国家。 [警告] [35m [AndroidDriver] [39m 得到语言:'未定义'和国家:'未定义' [调试] [35m[Logcat][39m 开始 logcat 捕获[调试] [35m[AndroidDriver][39m 将解锁帮助应用程序推送到设备... [调试] [35m[ADB][39m 获取 io.appium.unlock 的安装状态 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell pm list packages io.appium.unlock'[调试] [35m[ADB][39m 应用未安装 [调试] [35m[ADB][39m App 'C:\Users\Office\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-unlock\bin\unlock_apk-debug.apk' 未安装。安装 [调试] [35m[ADB][39m 设备 API 级别:27 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 安装-g C:\Users\Office\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-unlock\bin\unlock_apk-debug.apk'[调试] [35m[ADB][39m 安装命令标准输出:成功 [调试] [35m[UiAutomator2][39m 转发UiAutomator2服务器端口6790到8200 [调试] [35m[ADB][39m 转发系统:8200 到设备:6790 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 转发 tcp:8200 tcp:6790' [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell rm -rf /data/local/tmp/strings.json'[调试] [35m[ADB][39m 跑步 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell pm path com.miui.calculator'[调试] [35m[ADB][39m 跑步 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 拉 /system/app/Calculator/Calculator.apk C:\Users\Office\AppData\Local\Temp\com.miui.calculator.apk'[调试] [35m[ADB][39m 将包 'com.miui.calculator' 的应用程序拉到 'C:\Users\Office\AppData\Local\Temp\com.miui.calculator.apk' [debug] [35m[AndroidDriver][39m 从apk中提取字符串 [调试] [35m[AndroidDriver][39m C:\Users\Office\AppData\Local\Temp\com.miui.calculator.apk [调试] [35m[AndroidDriver][39m 未定义 [调试] [35m[AndroidDriver][39m C:\Users\Office\AppData\Local\Temp\com.miui.calculator [debug] [35m[ADB][39m 提取语言字符串:default[info] [35m[ADB][39m 成功提取645个字符串 'C:\Users\Office\AppData\Local\Temp\com.miui.calculator.apk' 资源 对于“(默认)”配置[debug] [35m[ADB][39m Running 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 推 C:\Users\Office\AppData\Local\Temp\com.miui.calculator\strings.json /data/local/tmp'[debug] [35m[UiAutomator2][39m 没有应用功能。 假设它已经在设备上 [debug] [35m[ADB][39m 获取 com.miui.calculator 的安装状态 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell pm list packages com.miui.calculator'[debug] [35m[ADB][39m App已安装 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell am force-stop com.miui.calculator'[调试] [35m[ADB][39m 跑步 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell pm clear com.miui.calculator'[调试] [35m[AndroidDriver][39m 对已安装的执行快速重置 'com.miui.calculator' 应用程序(停止并清除) [调试] [35m [ADB] [39m 检查未定义的应用程序证书[调试] [35m [ADB] [39m 正在运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell am 强制停止 io.appium.uiautomator2.server' [信息] [35m[UiAutomator2][39m 启动 uiautomator2 服务器 1.18.0 [信息] [35m[UiAutomator2][39m 使用来自 'C:\Users\Office\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium- 的 UIAutomator2 服务器uiautomator2-server-v1.18.0.apk' 并从 'C:\Users\Office\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-uiautomator2-server\apks\appium-uiautomator2-server-debug-androidTest.apk' [信息] [35m[UiAutomator2][39m 运行命令:'adb -s 35924c6f0804 shell am instrument -w io.appium.uiautomator2.server.test/android.support.test.runner.AndroidJUnitRunner' [info] [35m[UiAutomator2][39m 等待 UiAutomator2 上线最多 20000 毫秒... [调试] [35m [JSONWP 代理] [39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [错误] [35m[UiAutomator2][39m [UIAutomator2 错误] getaddrinfo ENOENT localhost localhost:5037 [调试] [35m[UiAutomator2][39m 完全错误:错误:getaddrinfo ENOENT localhost localhost:5037 [调试] [35m[UiAutomator2][39m at GetAddrInfoReqWrap.onlookup [as oncomplete] (dns.js:50:26)[调试] [35m[JSONWP 代理][39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [调试] [35m [JSONWP 代理][39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [调试] [35m [JSONWP 代理][39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [调试] [35m [JSONWP 代理][39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [调试] [35m [JSONWP 代理][39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [调试] [35m [JSONWP 代理][39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [调试] [35m [JSONWP 代理][39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [调试] [35m [JSONWP 代理][39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [调试] [35m [JSONWP 代理][39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [调试] [35m [JSONWP 代理][39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [调试] [35m [JSONWP 代理][39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [调试] [35m [JSONWP 代理][39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [调试] [35m [JSONWP 代理][39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [调试] [35m [JSONWP 代理][39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [调试] [35m [JSONWP 代理][39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [调试] [35m [JSONWP 代理][39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [调试] [35m [JSONWP 代理][39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [调试] [35m [JSONWP 代理][39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [调试] [35m [JSONWP 代理][39m 匹配 '/status' 到命令名称 'getStatus' [调试] [35m [JSONWP 代理] [39m 代理 [GET /status] 到 [GET http://localhost:8200/wd/hub/status] 没有正文 [调试] [35m[UiAutomator2][39m 删除 UiAutomator2 会话 [调试] [35m[UiAutomator2][39m 删除 UiAutomator2 服务器会话 [调试] [35m [JSONWP 代理] [39m 匹配 '/' 到命令名称 'deleteSession' [警告] [35m[UiAutomator2][39m 没有得到确认 UiAutomator2 deleteSession 工作;错误是:UnknownError:未知 处理命令时发生服务器端错误。原版的 错误:尝试代理没有会话 ID 的会话命令 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 shell am force-stop com.miui.calculator'[调试] [35m[Logcat][39m 停止 logcat 捕获 [调试] [35m [ADB] [39m删除转发端口套接字连接:8200 [调试] [35m[ADB][39m 运行 'C:\Users\Office\AppData\Local\Android\Sdk\platform-tools\adb.exe -P 5037 -s 35924c6f0804 向前 --remove tcp:8200' [调试] [35m [BaseDriver] [39m 事件“newSessionStarted”记录在 1540389906576(19:35:06 GMT+0530(印度标准时间)) [debug] [35m[W3C][39m Encountered internal error running command: UnknownError: An unknown server-side error occurred while 处理命令。原始错误:无法将命令代理到 远程服务器。原始错误:错误:getaddrinfo ENOENT localhost 本地主机:8200 [调试] [35m[W3C][39m at JWProxy.command$ (C:\Users\Office\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\appium-base-driver\lib\jsonwp -proxy\proxy.js:238:13) [调试] [35m[W3C][39m at tryCatch (C:\Users\Office\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:67: 40) [调试] [35m [W3C] [39m at GeneratorFunctionPrototype.invoke [as _invoke] (C:\Users\Office\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:315:22) [debug] [35m[W3C][39m at GeneratorFunctionPrototype.prototype.(anonymous function) [as throw] (C:\Users\Office\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js:100:21) [调试] [35m[W3C][39m at GeneratorFunctionPrototype.invoke (C:\Users\Office\AppData\Local\Programs\Appium\resources\app\node_modules\appium\node_modules\babel-runtime\regenerator\runtime.js: 136:37) [调试] [35m[W3C][39m at run (C:\Users\Office\AppData\Local\Programs\Appium\resources\app\webpack:\~\babel-polyfill\~\core-js\modules\es6 .promise.js:75:1) [调试] [35m[W3C][39m 在 C:\Users\Office\AppData\Local\Programs\Appium\resources\app\webpack:\~\babel-polyfill\~\core-js\modules\es6.promise .js:92:1 [debug] [35m[W3C][39m at flush (C:\Users\Office\AppData\Local\Programs\Appium\resources\app\webpack:\~\babel-polyfill\~\core-js\modules_microtask.js :18:1) [调试] [35m[W3C][39m at process._tickCallback (internal/process/next_tick.js:61:11) [信息] [35m[HTTP][39m [37m

请指导

【问题讨论】:

【参考方案1】:

    确保您使用的是最新的 Appium 服务器 1.9.1。

    已安装最新的 Android SDK 和 ADB。

    从您的设备卸载您的应用、Appium 设置和解锁应用。

    设备上已启用 USB 调试。

编辑:

我今天也遇到了这个错误。

经过分析,我发现我连接的设备不知何故离线了。

我使用以下命令进行了检查:

$ adb devices

这是离线设备的结果:

List of devices attached
392edea50404    offline

解决方案:

解决方法是我将设备从计算机上拔下并重新连接。

试试这个方法,然后告诉我。

【讨论】:

我正在使用 Appium 服务器 1.9.1,最新的 SDK 和 USB 调试已在设备上启用,但仍然出现相同的错误。在卸载 Appium 设置并从设备解锁应用程序后也尝试过,但仍然出现相同的错误。 .是否需要任何网络、代理设置? 您可以尝试使用 127.0.0.1 而不是 0.0.0.0 吗?参考这里:github.com/appium/appium/issues/11210#issuecomment-414145196 @surbhigupta,检查我编辑的答案。终于找到解决办法了。 我尝试了您编辑的解决方案,但它对我不起作用。将 appium 主机 0.0.0.0 更改为 0.0.0.1 时出现错误以启动 appium 服务器“启动 Appium 服务器时出错:侦听 EADDRNOTAVAIL 0.0.0.1:4723”此外,我已经使用 adb 设备检查了连接的设备,能够成功查看设备。跨度> 但是,我已经在 appiun alog 上发布了与此相关的问题,并回答 appium 伙计们是网络设置有问题,所以你能建议需要设置什么网络设置吗? (discuss.appium.io/t/…)

以上是关于为 Android 运行 appium 测试时出现代理错误的主要内容,如果未能解决你的问题,请参考以下文章

如何解决使用 Appium 测试 Android 应用时出现的错误“appium-uiautomator2-server-debug-androidTest.apk'不存在或不可访问”?

机器人框架 - Appium 库:启动应用程序时出现安全异常

appium简介

运行 Android 仪器测试时出现重复的类警告

使用 Android-Espresso 运行多个测试时出现内存不足异常

如何使用 Charles Proxy 配置 Appium Android?