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

在Ubuntu 14.04终端上使用maven命令运行TestNG测试套件文件时,Chrome浏览器不会打开,maven,selenium,selenium-webdriver,ubuntu-14.04,Maven,Selenium,Selenium Webdriver,Ubuntu 14.04,机器:Ubuntu Linux 14.04 LTS Maven:3.0.5 当我从Eclipse执行TestNG测试套件文件时,它会打开Chrome浏览器并正确执行测试。但当我在终端上执行以下命令时 $ sudo mvn clean install -DsuiteXmlFile=testng.xml 由于我的机器已经存在一些访问问题,我必须 在命令中使用sudo Chrome浏览器不会打开,maven日志会一直无限打印以下日志 ---------------------------------

机器:Ubuntu Linux 14.04 LTS

Maven: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.
然而,这在Windows10上运行得非常好


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

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

You can write at the end of your .bashrc file:

export DISPLAY=:0.0

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

在Ubuntu上安装xvfb:

sudo apt-get update
sudo apt-get install xvfb
然后,您需要添加以下配置才能很好地启动:

Xvfb :1 -screen 0 800x600x16
DISPLAY=:1.0
您可以将其作为Jenkins插件安装:
Follow

通过将我的测试归档,最终解决了我的问题

我使用
ENV
like从Dockerfile设置
显示

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映像。

只需使用“sudo mvn clean install”并运行测试套件即可。它将运行整个测试套件。这就是我所做的。请参见问题中的命令。这里的问题是,浏览器无法打开,无法执行selenium测试。我将尝试此方法,然后返回给您。您是否连接了多个监视器或显示器到机器。显示的可能值从0到4不等。使用不同的值进行检查,如export DISPLAY=:1或export DISPLAY=:2,等等。不,我正在使用我的带有Ubuntu的Dell笔记本电脑。其他值也不起作用。我将试用它,并让您知道它是否适合我。您能否详细说明将此配置放置在何处?目前我不打算在我的本地计算机上使用Jenkins。这些配置应该使用Ubuntu上的终端来执行。关于Jenkins插件的链接,你可以在向下滚动时找到说明,你必须先安装插件,然后你将在作业配置部分和构建选项卡中获得字段。我回答你的问题了吗?