2016-08-30 15 views
0

私はselenium webdriverで書かれた簡単な自動化スクリプトを持っています。私はJenkinsを通してこのスクリプトを実行する必要があります。だから私はJenkinsでジョブを設定しました。実行しようとするとFirefoxブラウザを開くことができません。次のようにFirefoxブラウザのSelenium自動化スクリプトを開くことができません - エラー:Jenkins Ubuntuのディスプレイ::99を開くことができません

コンソール出力は次のとおりです。

Running TestSuite 
org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms. Firefox console output: 
Error: cannot open display: :99 
Failed tests: 
NewTest.testEasy:25 » WebDriver Failed to connect to binary FirefoxBinary(/usr... 

これは私のコードです:

@Test 
    public void testEasy() { 
//   WebDriver driver = new FirefoxDriver(); 
     WebDriver driver = null; 
     FirefoxBinary binary = new FirefoxBinary(new File("/usr/bin/firefox")); 
     binary.setEnvironmentProperty("DISPLAY",System.getProperty("lmportal.xvfb.id",":99")); 
     driver = new FirefoxDriver(binary,null); 
     driver.get("https://www.google.co.in/?gfe_rd=cr&ei=drM-V8PiHPPI8AevjriQDA&gws_rd=ssl"); 
//   String title = driver.getTitle(); 
//   AssertJUnit.assertTrue(title.contains("Free Selenium Tutorials")); 
//   System.out.println("TEST"); 
    } 

答えて

5

Error: cannot open display: :99

我々はジェンキンスでセレンスクリプトを実行すると、彼らは任意のディスプレイなし、すなわちヘッドレスモードで実行します。したがって、Xvfbなどの仮想バッファが必要です。

この場合、スクリプトはポート99の仮想ディスプレイを探していますが、これは実行されていません。 jenkinsボックスがLinuxの場合は、セレンスクリプトを実行する前に試してください。

Xvfb :99 & 
export DISPLAY=:99 
+0

ご回答いただきありがとうございます。私は端末で上記のコマンドを実行し、テストケースを実行しました。ビルドは成功ですが、ブラウザは開かれていません。 –

+0

コードスニペットを追加できます –

+0

参考までに、私の質問にコードを追加しました。それも参照してください。 –

0

実際にスクリプトを実行できます。しかし、ブラウザだけが表示されません。私はそれで大丈夫です。また、テストスクリプトに失敗してテストしましたが、Jenkinsはそのエラーを返しました。

関連する問題