Chrome浏览器在Ubuntu 14.04终端上使用maven命令运行TestNG测试套件文件时无法打开



机器: Ubuntu Linux 14.04 LTS

专家:3.0.5

当我从 Eclipse 执行我的 TestNG 测试套件文件时,它会打开 Chrome 浏览器并正确执行测试。但是当我在终端上执行以下命令时,

$ sudo mvn clean install -DsuiteXmlFile=testng.xml

由于我的机器已经存在一些访问问题,因此我必须 将sudo与命令一起使用。

Chrome浏览器只是无法打开,maven日志只是无限地继续打印以下日志,

-------------------------------------------------------
T E S T S
-------------------------------------------------------
Running TestSuite
Starting webdriver on OS: Linux
Starting ChromeDriver 2.37.543619 (a237acd3116cac3b3f0da42a000502ce3fafcb23) on port 14536
Only local connections are allowed.
Starting webdriver on OS: Linux
Starting ChromeDriver 2.37.543619 (a237acd3116cac3b3f0da42a000502ce3fafcb23) on port 6694
Only local connections are allowed.
Starting webdriver on OS: Linux
Starting ChromeDriver 2.37.543619 (a237acd3116cac3b3f0da42a000502ce3fafcb23) on port 4991
Only local connections are allowed.
Starting webdriver on OS: Linux
Starting ChromeDriver 2.37.543619 (a237acd3116cac3b3f0da42a000502ce3fafcb23) on port 19892
Only local connections are allowed.
Starting webdriver on OS: Linux
Starting ChromeDriver 2.37.543619 (a237acd3116cac3b3f0da42a000502ce3fafcb23) on port 21613
Only local connections are allowed.

但是,这在 Windows 10 上运行良好。

有没有人对此有解决方案,因为我找不到任何解决方案。

按下面给出的方式设置系统显示值,然后再次尝试运行测试。

You can write at the end of your .bashrc file:
export DISPLAY=:0.0

我之前在 Maven 命令在 Jenkins 上运行时遇到过这个问题,我在 Ubuntu 上安装了 xvfb,然后完美地工作了。

在 Ubuntu 上安装 xvfb:

sudo apt-get update
sudo apt-get install xvfb

然后你需要添加这些配置才能很好地启动它:

Xvfb :1 -screen 0 800x600x16
DISPLAY=:1.0

你可以把它安装为Jenkins插件: 关注这个

终于通过对我的测试进行 dockerization 解决了我的问题。

我使用类似ENV从 Dockerfile 设置DISPLAY

ENV DISPLAY :99

然后我使用ENTRYPOINT从 Docker 容器执行我的run.sh文件来启动 Xvfb 显示:

Xvfb :99 -ac &

并在同一个run.sh文件中执行了上述行之后的测试:

mvn clean install -DsuiteXmlFile=testng.xml

运行的输出为:

[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running TestSuite
Starting ChromeDriver 2.38.552522 (437e6fbedfa8762dec75e2c5b3ddb86763dc9dcb) on port 13506
Only local connections are allowed.
May 31, 2018 5:44:12 AM org.openqa.selenium.remote.ProtocolHandshake createSession
INFO: Detected dialect: OSS
31/05/2018 05:44:16 copy_tiles: allocating first_line at size 41
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 17.688 s - in TestSuite
[INFO] 
[INFO] Results:
[INFO] 
[INFO] Tests run: 2, Failures: 0, Errors: 0, Skipped: 0

编辑:

可以在此处找到 Docker 映像。

最新更新