WebdriverIO-测试失败,并显示错误Openfin

时间:2020-02-20 05:41:26

标签: google-chrome selenium-webdriver webdriver-io

我一直在尝试使用以下存储库作为基础,为我们的openfin应用程序设置自动化测试

https://github.com/openfin/webinar-automated-integration-tests

我正在使用Openfin(Chrome版本61.0.3163.100)和Chromedriver 2.40.565498

当我运行“ npm test”时,openfin应用程序打开。但是测试无法运行。等待一段时间后,它将在控制台中引发以下错误。

ERROR: unknown error: DevToolsActivePort file doesn't exist
 (Driver info: chromedriver=2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab),platform=Windows NT 10.0.16299 x86_64)

chrome

我尝试使用其他版本的chromedriver,例如2.33、2.34、2.37、2.38、2.39、2.41。使用这些版本甚至没有出现该应用程序。因此,我猜我使用的chromedriver版本是正确的。我也尝试将以下参数添加到chromeOptions

--remote-debugging-port=9222,--no-sandbox,--headless,--disable-gpu

他们没有解决我的问题。不知道是什么原因引起的。任何帮助将非常感激。提前致谢。干杯!

1 个答案:

答案 0 :(得分:0)

此错误消息...

ERROR: unknown error: DevToolsActivePort file doesn't exist
 (Driver info: chromedriver=2.40.565498 (ea082db3280dd6843ebfb08a625e3eb905c4f5ab),platform=Windows NT 10.0.16299 x86_64)

...表示 ChromeDriver 无法启动/产生新的浏览上下文,即 Chrome浏览器会话。


您的主要问题是所使用的二进制版本之间的不兼容性,如下所示:

  • 您正在使用 chromedriver = 2.40
  • chromedriver=2.40的发行说明中明确提到以下内容:

支持 Chrome v66-68

  • 大概您正在使用 chrome = 61.0
  • ChromeDriver v2.33的发行说明中明确提到以下内容:

支持 Chrome 60-62

  • 您不知道您的 Selenium Client 版本。

因此 ChromeDriver v2.40 Chrome浏览器v60.0

之间存在明显的不匹配

解决方案

确保:

  • 已升级到当前级别Version 3.141.59
  • ChromeDriver 已更新为当前的ChromeDriver v80.0级别。
  • Chrome 已更新为当前的 Chrome版本80.0 级别。 (根据ChromeDriver v80.0 release notes
  • 通过 IDE
  • 清理项目项目工作区,并仅使用必需的依赖项重新构建项目
  • 如果您的基本 Web客户端版本太旧,则将其卸载并安装最新版本的 Web客户端 GA。
  • 进行系统重启
  • 非root用户用户的身份执行@Test
  • 始终在driver.quit()方法内调用tearDown(){},以优雅地关闭和销毁 WebDriver Web Client 实例。