0
  1. 我在github上推送了代码
  2. 我已经在 staging.website.com:8xxxUbuntu 机器上配置了Jenkins
  3. 我可以通过我的 windows7 机器上的 putty.exe 访问这台 ubuntu 机器
  4. 我能够通过 Jenkins 在 github 上获取代码意味着我能够通过 Jenkins 运行构建,但它失败了,因为问题:我无法启动浏览器。

我试过了

DesiredCapabilities capability = DesiredCapabilities.firefox();
             capability.setCapability("platform", Platform.LINUX);
             capability.setCapability("binary", "usr/bin/firefox");
             driver= new FirefoxDriver();
             driver.get("mytestproject.com");

但它给出了错误(虽然我使用的是最新的 selenium jar 2.35.0,但尝试了 maven clean 并重新启动服务器):

 Failed to connect to binary FirefoxBinary(/usr/bin/firefox) on port 7055; process output follows: Error: no display specified Error: no display specified Build info: version: '2.35.0', revision: '8df0c6bedf70ff9f22c647788f9fe9c8d22210e2', time: '2013-08-17 12:46:41' System info: os.name: 'Linux', os.arch: 'amd64', os.version: '3.5.0-21-generic', java.version: '1.7.0_25' Driver info: driver.version: FirefoxDriver
org.openqa.selenium.firefox.internal.NewProfileExtensionConnection.start(NewProfileExtensionConnection.java:118)
at org.openqa.selenium.firefox.FirefoxDriver.startClient(FirefoxDriver.java:251)
at org.openqa.selenium.remote.RemoteWebDriver.<init>(RemoteWebDriver.java:110)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:195)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:190)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:186)
at org.openqa.selenium.firefox.FirefoxDriver.<init>(FirefoxDriver.java:99)

我已经检查sudo lsof -i :7055过没有使用这个端口(通过远程ubuntu机器上的腻子)但是在阅读了很多论坛之后我无法解决它。所以我尝试使用 phantomjs 但它也给出了错误:我试过:

dCaps = new DesiredCapabilities();
            dCaps.setJavascriptEnabled(true);
            dCaps.setCapability("takesScreenshot", false);

            driver = new PhantomJSDriver(dCaps);

            driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);

            driver.get(Prod);

它在下面给出了红线driver = new PhantomJSDriver(dCaps);。其实我不知道如何在 Maven 项目中使用 Phantom.js。我想要实现的目标:我想在这个远程 ubuntu 登台服务器、nomatter headless (ghostdriver) 或 firefox 上运行测试用例。

4

2 回答 2

0

为什么不让它使用默认的 Firefox 二进制文件?Jenkins 只需要为所有用户安装的 Firefox。如果我没记错的话,Firefox 在任何 Ubuntu 中都是默认的。

 Failed to connect to binary FirefoxBinary(/usr/bin/firefox) on port 7055;
于 2013-09-10T13:35:30.487 回答
0

我认为它可能是 Jenkins 失败的,因为它在一个没有定义显示的新终端窗口中运行。似乎 Firefox 进程不允许这样做。

"Error: no display specified"

这可能会有所帮助: 如何指定显示?

于 2013-09-10T13:06:40.560 回答