我正在使用chromedriver
和mocha
进行Selenium测试用例。以下是我的package.json
文件的一部分:
"chromedriver": "^2.46.0",
"mocha": "^5.2.0",
"selenium-standalone": "^6.16.0",
"selenium-webdriver": "^4.0.0-alpha.1",
"webdriver-manager": "^12.1.1"
我正在使用版本为ChromeDrive.exe
的{{1}}文件运行测试用例。所有测试用例都在本地运行或引发错误,但Jenkins的行为完全不同。
在Jenkins上,我更频繁地运行以下错误:
73.0.3686
我想念什么吗?如果您需要更多详细信息,请告诉我!
答案 0 :(得分:1)
根据 package.json 文件的内容,以下条目看起来不是有效的条目:
"selenium-standalone": "^6.16.0"
删除此条目将解决错误。
但是,您似乎在 Windows 10 Pro 64位
上使用了 chrome = 73.0.3686John Chen(Chromedriver的所有者)最近确认:
我们已经确认,当Windows上的某个服务(例如Jenkins或Task Scheduler)启动Chrome 73.0.3686.75时,拍摄屏幕截图存在问题。有关更多详细信息,请参见https://crbug.com/942023。对于由此带来的任何不便,我们深表歉意。
但是,我们尚未能够在Linux上观察到类似的问题,因此,我们感谢您提供的任何帮助,以使我们能够在Linux上重现该问题。我们没有使用TeamCity的权限,但是我们已经测试了使用Selenium生成的Docker映像(selenium / standalone-chrome:3.141.59-lithium)拍摄的屏幕截图,并且没有发现任何问题。
解决方案是:
注意:如果您使用的是Chrome版本72,请下载ChromeDriver 2.46或ChromeDriver 72.0.3626.69
或者,您可以通过--disable-features=VizDisplayCompositor
的实例添加自变量ChromeOptions()
来解决问题:
ChromeOptions options = new ChromeOptions();
options.addArguments("--disable-features=VizDisplayCompositor");
WebDriver driver = new ChromeDriver(options);
driver.get("https://google.com");
以下是参考讨论: