无法通过Xvfb在CentOS上运行Selenium测试

时间:2020-06-15 10:40:21

标签: selenium jenkins selenium-webdriver jenkins-pipeline xvfb

我正在通过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测试。

1 个答案:

答案 0 :(得分:0)

尝试对screen参数使用不同的值后,我意识到这不是Chrome浏览器或驱动程序的问题,而是将值传递给了screen

当我将深度值从8更改为16时,Selenium执行成功开始-screen: '1440x800x16'

wrap([$class: 'Xvfb', autoDisplayName: true, screen: '1440x800x16']) { 
   <code to run Selenium test here>
}

但是从技术上讲,我不理解为什么会发生此错误以及深度值如何帮助解决它。