我正在通过Jenkins管道在CentOS 7
机器上运行Selenium测试,因此使用Xvfb
。当将screen
参数与任何有效值一起使用时,例如--p
wrap([$class: 'Xvfb', autoDisplayName: true, screen: '1440x800x8']) {
<code to run Selenium test here>
}
它导致以下错误-
[testng] org.openqa.selenium.WebDriverException: chrome not reachable
[testng] (Session info: chrome=80.0.3987.132)
[testng] (Driver info: chromedriver=80.0.3987.16 (320f6526c1632ad4f205ebce69b99a062ed78647-refs/branch-heads/3987@{#185}),platform=Linux 3.10.0-862.el7.x86_64 x86_64) (WARNING: The server did not provide any stacktrace information)
[testng] Command duration or timeout: 0 milliseconds
[testng] Build info: version: '3.14.0', revision: 'aacccce0', time: '2018-08-02T20:13:22.693Z'
如果我们在不使用screen
参数的情况下运行它,则会成功运行。
再观察一次-使用screen
参数,它可以完美地在Ubuntu 18
请帮助我如何在screen
上使用CentOS 7
参数运行Selenium测试。
答案 0 :(得分:0)
尝试对screen
参数使用不同的值后,我意识到这不是Chrome浏览器或驱动程序的问题,而是将值传递给了screen
当我将深度值从8更改为16时,Selenium执行成功开始-screen: '1440x800x16'
wrap([$class: 'Xvfb', autoDisplayName: true, screen: '1440x800x16']) {
<code to run Selenium test here>
}
但是从技术上讲,我不理解为什么会发生此错误以及深度值如何帮助解决它。