2013-07-29 35 views
6

ジェンキンスでxvfb経由で実行したいmavenプロジェクトに変換されたセレンのwebdriverテストがあります。Webdriver Firefoxがlocalhostに接続するポートを変更するにはどうすればよいですか?

ディスプレイの選択に問題がありますが、他に何か試してポートを変更したいと思います。

この

はエラーは私が取得さ:

org.openqa.selenium.firefox.NotConnectedException: Unable to connect to host 127.0.0.1 on port 7055 after 45000 ms.

Firefox console output:

Error: no display specified

Error: no display specified

そして、これは私のコードです:

File ffExe = new File("/usr/bin/firefox"); 
FirefoxBinary ffox = new FirefoxBinary(ffExe); 
ffox.setEnvironmentProperty("DISPLAY", ":21"); 
WebDriver driver = new FirefoxDriver(ffox, null); 

だから、どのように私はFirefoxが別のポートを使用するように伝えることができると私はどちらを指定する必要がありますか?

答えて

2

システムプロパティ-webdriver.firefox.portがあります。このプロパティは、yoruクエリの回答になります。 wiki - http://code.google.com/p/selenium/wiki/FirefoxDriverに掲載されていますが、同じドキュメントが提供されていません。あなたが試してみることができますそれが働いている場合私たちに知らせる:

+0

コードで「webdriver.firefox.port」を使用する方法の例を教えてください。あなたがリンクしたページで、setPropertyについて話してから、setPreferenceとImが混乱していると話しました。 –

+0

System.setProperty( "propertyname"、 "propertyvalue") – Akbar

+0

ありがとうございました!試してみる –

2

問題は、そのポートに接続することはできませんが、むしろジェンキンズで指定された表示がないエラーの2番目の部分です。だから、Firefoxのディスプレイを設定するのはおそらく動作していないのだ。

ディスプレイの設定を確認するには、端末にenvと入力し、DISPLAY変数に割り当てられている番号を削除します。たとえば、DISPLAY:1.0です。

次に、Hudson/Jenkinsで表示変数を設定する必要があります。 Jenkinsのランディングページに移動し、Manage Jenkins> Manage Nodes> Master> Configureをクリックします。 [環境変数]チェックボックスをオンにして、名前ボックスにDISPLAYと設定し、値を:1.0のように設定します。

さらに、ターミナルでxhost +を使用してxhostアクセス制御を無効にする必要があります。

+0

ありがとう、私はこのディスプレイのことについてGoogleで読んだことをすべて試しましたが、今のところ何も働いていない、あなたのポストに新しいものがいくつかあり、今日仕事でそれらを試してみます。私のこの他の関連するトピックを見てみることができますか? http://stackoverflow.com/questions/17925498/shifted-webdriver-test-from-firefox-to-chrome-jenkins-still-thinks-its-firefox –

関連する問題