Java 当使用driver.quit()并行运行Appium测试时,会导致其他测试失败 问题

Java 当使用driver.quit()并行运行Appium测试时,会导致其他测试失败 问题,java,android,selenium,junit,appium,Java,Android,Selenium,Junit,Appium,我正在使用Java运行JUnit测试,与Appium服务器并行运行,为每个设备配置了不同的端口和UUID。我在两部手机上运行相同的测试。看起来,当测试在第一部手机上结束时,它会以某种方式干扰另一部仍在进行相同测试的手机。这将导致如下所示的错误消息和堆栈跟踪 这并非每次都发生。似乎大多数情况下都会出现问题,但有时会对这两个问题都运行测试,而不会出现问题 驱动程序。退出()/close() 作为测试的一部分,我们在最后使用driver.quit()关闭驱动程序。这样做会导致上述行为。如果我删除驱动程

我正在使用
Java
运行
JUnit
测试,与
Appium
服务器并行运行,为每个设备配置了不同的端口和UUID。我在两部手机上运行相同的测试。看起来,当测试在第一部手机上结束时,它会以某种方式干扰另一部仍在进行相同测试的手机。这将导致如下所示的错误消息和堆栈跟踪

这并非每次都发生。似乎大多数情况下都会出现问题,但有时会对这两个问题都运行测试,而不会出现问题

驱动程序。退出()/close() 作为测试的一部分,我们在最后使用
driver.quit()
关闭驱动程序。这样做会导致上述行为。如果我删除
驱动程序。退出()
所有测试都将成功完成。问题是,如果我想运行其他测试,驱动程序会话仍然在
Appium
中打开,除非我重新启动
Appium
,否则无法关闭它

每个JUnit测试都在其on-Appium端口上运行,并使用设备的UUID

环境
  • 显示问题的Appium版本(或git修订版):Appium v1.5.3/Appium Java Client 4.0.0/Appium 3.4.1
细节 2种不同的错误: 1:
org.openqa.selenium.WebDriverException:处理命令时发生未知的服务器端错误。原始错误:Android引导套接字崩溃:错误:此套接字已被另一方终止(警告:服务器未提供任何堆栈跟踪信息)

2:
org.openqa.selenium.WebDriverException:处理命令时发生未知的服务器端错误。原始错误:无法代理。代理错误:无法将命令代理到远程服务器。原始错误:错误:套接字挂起(警告:服务器未提供任何堆栈跟踪信息)

您还需要为每个Appium会话提供不同的引导端口。 资料来源: 编辑:并行测试的文档可以在

此外,如果您的并行测试包括Selendroid automation或Chrome/WebView automation的使用,则这些测试还需要其他端口:

--chromedriver端口
chromedriver端口(如果使用WebView或chrome)


--selendroid端口
selendroid端口(如果使用selendroid)

嘿@Domestus,你能提供更新的源链接吗?这似乎是最新的页面:你找到解决方案了吗?我也有同样的问题。