Appium 关于 Appium 运行报错 [Error communicatingwith the remote browser. It may have died] 的问题分析和求助

汪汪 · 2015年06月10日 · 最后由 汪汪 回复于 2015年06月10日 · 74 次阅读

测试场景是用 Appium 做多台 Android 设备的并发 UI 自动化测试,使用无线 ADB 连接,启动 5 个 AppiumServer 运行脚本
运行过程中概率性会出现脚本失败报错 Error communicatingwith the remote browser. It may have died

查了不少资料: https://code.google.com/p/selenium/issues/detail?id=4319 selenium 上又类似的 issue
而又有些资料说是 socket 连接数上限,要改 tcp 最大连接数: http://blog.csdn.net/pehaps/article/details/8818890

可是改完连接数后运行,依然会有概率性出现类似问题。。。

虽然在 BeforeMethod 中重新初始化 Server 来暂时规避了这个问题
可是因为之后会有更多的设备同时测试需求,如果真的是连接数的问题,那如果数量达到一定程度,是不是这个测试方案就不可行了,忧桑
这是 5 台连接进行测试时的连接监控

所以请教各路大神,有没可行的解决方案或者建议。。

关于一定要用无线 ADB 连接的问题 ,这是因为要进行较长时间测试且设备较多,设备必须边充电边跑脚本,所以肯定是需要脱 PC 运行。。
而 APP 的一些原因限制,只能使用 Appium 来做 UI 的自动化实现。。

如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
共收到 1 条回复 时间 点赞

错误提示如下:

org.openqa.selenium.remote.UnreachableBrowserException: Error communicating with the remote browser. It may have died.
Build info: version: '2.43.1', revision: '5163bceef1bc36d43f3dc0b83c88998168a363a0', time: '2014-09-10 09:43:55'
System info: host: 'PC201412042006', ip: '192.168.1.2', os.name: 'Windows 7', os.arch: 'amd64', os.version: '6.1', java.version: '1.8.0_25'
Driver info: driver.version: RemoteWebDriver
org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:593)
io.appium.java_client.AppiumDriver.execute(AppiumDriver.java:180)
org.openqa.selenium.remote.RemoteWebDriver.findElement(RemoteWebDriver.java:352)
org.openqa.selenium.remote.RemoteWebDriver.findElementByCssSelector(RemoteWebDriver.java:441)
com.nd.pad.eci.PadCon.Process(PadCon.java:124)
com.nd.pad.eci.Eci_test.test_stu1(Eci_test.java:91)
sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source)
sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
java.lang.reflect.Method.invoke(Unknown Source)
org.testng.internal.MethodInvocationHelper.invokeMethod(MethodInvocationHelper.java:85)
org.testng.internal.Invoker.invokeMethod(Invoker.java:659)
org.testng.internal.Invoker.invokeTestMethod(Invoker.java:845)
org.testng.internal.Invoker.invokeTestMethods(Invoker.java:1153)
org.testng.internal.TestMethodWorker.invokeTestMethods(TestMethodWorker.java:125)
org.testng.internal.TestMethodWorker.run(TestMethodWorker.java:108)
org.testng.TestRunner.privateRun(TestRunner.java:771)
org.testng.TestRunner.run(TestRunner.java:621)
org.testng.SuiteRunner.runTest(SuiteRunner.java:357)
org.testng.SuiteRunner.runSequentially(SuiteRunner.java:352)
org.testng.SuiteRunner.privateRun(SuiteRunner.java:310)
org.testng.SuiteRunner.run(SuiteRunner.java:259)
org.testng.SuiteRunnerWorker.runSuite(SuiteRunnerWorker.java:52)
org.testng.SuiteRunnerWorker.run(SuiteRunnerWorker.java:86)
org.testng.TestNG.runSuitesSequentially(TestNG.java:1199)
org.testng.TestNG.runSuitesLocally(TestNG.java:1124)
org.testng.TestNG.run(TestNG.java:1032)
org.testng.remote.RemoteTestNG.run(RemoteTestNG.java:111)
org.testng.remote.RemoteTestNG.initAndRun(RemoteTestNG.java:204)
org.testng.remote.RemoteTestNG.main(RemoteTestNG.java:175)
Caused by: org.apache.http.conn.HttpHostConnectException: Connect to 127.0.0.1:4723 [/127.0.0.1] failed: Connection refused: connect
Caused by: java.net.ConnectException: Connection refused: connect

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册