开发者问题收集

当我在 LINUX 计算机上运行 jenkins 自动化(带有 groovy 的 Selenium)作业时,获取 geb.driver.DriverCreationException

2021-04-22
180

当我在 LINUX 计算机上运行 jenkins 自动化(带有 groovy 的 Selenium)作业时,出现 geb.driver.DriverCreationException。

我正在使用 Groovy 在 selenium 上编写自动化脚本。 环境详细信息如下:

java version = 1.8.0_261
Gradle = 5.2.1
gebVersion = "2.3.1"
testngVersion = "6.14.3"
seleniumVersion = "3.4.0"

注意: 相同的脚本在 IntelliJ 中可以正常工作,并可以插入到我的本地 Windows 计算机中。

据我所知,一般情况下,我们会在以下情况下收到 geb.driver.DriverCreationException

  1. 未安装 chromedriver 和 chrome 浏览器
  2. chromedriver 未放置在正确的位置
  3. chromedriver 的版本与 chrome 浏览器不兼容。

我已验证上述所有条件均正确,但仍然收到相同的异常。

有人可以建议我收到 geb.driver.DriverCreationException 的另一个可能原因是什么,以及如何解决此问题吗?

Console picture_1

Console picture_2

** HTML 报告错误:**

Caused by: org.openqa.selenium.WebDriverException: 未知错误:Chrome 启动失败:异常退出。 (未知错误:DevToolsActivePort 文件不存在) (从 chrome 位置 /usr/bin/google-chrome 启动的进程不再运行,因此 ChromeDriver 假设 Chrome 已崩溃。)
构建信息:版本:'3.4.0',修订:'未知',时间:'未知' 系统信息:主机:'xyz',ip:'192.168. . ',os.name:'Linux',os.arch:'amd64',os.version:'3.10.0-1160.21.1.el7.x86_64',java.version:'1.8.0_282' 驱动程序信息:driver.version:ChromeDriver

2个回答

部分问题已得到解决,现在我能够使用 Headless chrome 通过 jenkins 运行自动化脚本。实际上,headless chrome 支持 selenium 版本 3.6 以上,而我使用的是 3.4,因此之前我无法使用 headless 浏览器执行。

但使用 headless chrome 浏览器时,我的大多数 UI 自动化测试用例都失败了。

我仍然面临启动 UI chrome 浏览器的问题。实际上 ChromeDriver 已成功启动,但浏览器未启动,因此我的测试用例被忽略。

新观察到的错误

Ashu
2021-05-06

我发现我需要进行 Xvfb 设置 - 它有助于在 Linux 上配置 GUI。 sudo apt-get -y install xvfb sudo chmod 777 /run/user/

配置后,我的问题已解决。

Ashu
2021-06-09