如何将selenium webdriver测试用例项目(在java中完成)运行到Linux中

时间:2014-02-14 09:07:48

标签: java selenium xvfb

我在我的Windows系统上做了一个测试用例,现在我需要将相同的测试用例文件运行到Ubuntu Linux服务器(没有桌面)。

从这个Link tutorials,我应该安装xvfb。我安装了哪个&测试。它在我的服务器上成功运行。

现在我的困惑是下一步是什么? 那么我该怎么办才能将相同的测试用例运行到我的Linux机器上?这个测试用例是通过eclipse

在我的本地windows机器上用selenium(java)作为Maven项目

2 个答案:

答案 0 :(得分:0)

为此,我使用了桌面Ubuntu,它包含所有X.org依赖项。 我也为桌面安装了XtightVNC。 之后我添加了使用VNC服务器打开新屏幕。

最后我安装了Hudson(你可以使用Jenkins)并在我的启动脚本中添加了env DISPLAY =:%monitorNumber%(例如:2)。此命令将执行重定向到我们的VNC监视器。

我建议你首先安装X.org依赖项,之后再做我做的。 但是我很久以前就不记得我设置的具体步骤了。

答案 1 :(得分:0)

又快又脏

在linux服务器和JDK上安装maven。然后将项目的源代码复制到linux服务器(例如克隆源存储库或压缩目录并scp它)。运行:

mvn clean test

有点复杂但更好

使用Selenium Grid。 Grid允许selenium从远程节点启动浏览器。

首先从Google Code download page下载selenium服务器。在Windows机器上启动集线器:

java -jar selenium-server-standalone-2.39.0.jar -role hub

转到http://localhost:4444/grid/console检查集线器是否已正确启动。

然后在linux服务器上启动一个节点:

java -jar selenium-server-standalone-2.7.0.jar -role webdriver -hub http://<hub_ip_or_hostname>:4444/grid/register -port 5556 -browser browserName=firefox

在测试代码中,使用Firefox功能实例化RemoteWebDriver对象。远程webdriver对象将自动联系集线器以查找具有所请求功能的远程节点(此处只有一个节点)。然后集线器将selenium命令转发到远程节点。

DesiredCapabilities capability = DesiredCapabilities.firefox();
WebDriver driver = new RemoteWebDriver(new URL("http://localhost:4444/wd/hub"), capability);
driver.go("http://www.myWebsiteToBeTested/");

然后,您可以使用不同的平台和浏览器(Linux上的Firefox,Windows上的IE,iOS上的Safari)向节点添加任意数量的节点。官方文档是here