2013-08-21 5 views
10

私の問題は、SeleniumServerブラウザインスタンスから分離されたビデオストリームを取得する方法です。私に説明させてください。異なるxvfb画面でselenium serverセッションを実行する方法は?

私は、Xvfbを使って 'headless' Seleniumモードを使用するため、Ubuntu Serverマシンで動作するSelenium Serverハブと同じサーバで動作するSelenium Serverノードを持っています。 DISPLAY=:99 java -jar selenium-server-standalone.jar -role node -hub http://localhost:4444/grid/register

その後、私はそこに実行しているテストのビデオストリームを取得したいので、私はXVFB仮想ディスプレイに接続x11serverをインストールし、私ができることをした後、VNCを使用してこれらのリモートサーバに接続するために、私は私を参照してください。私はこのようなノードが実行します処理をテストします。問題は、ノード内のすべてのブラウザインスタンスが同じ仮想ディスプレイ(#99)でレンダリングされ、複数のテストを同時に実行する必要があるときに、1つずつオーバーレイする多数のブラウザインスタンスがあることです。しかし私は、私がこれを行うことはできませんので、エラーのテストビデオストリームを記録したいと思います。ですから、私はブラウザの仮想ディスプレイに接続する確率が必要です。

私は、この問題を解決するために、クライアント(ブラウザのインス​​タンス)ごとに、仮想ディスプレイまたはスクリーンを作成するように強制しています(xvfbにはマルチスクリーンサポートがありますか?しかし、私はこれをやろうとしており、結果は得られていません。また、これを解決する必要がある場合、別の仮想ディスプレイ(xvfbではなく)を使用することもできます。

すべてのブラウザインスタンスから独立したビデオストリームを取得するのを手伝ってください:)ありがとう、私の英語については大変申し訳ありません。セレンハブと

+1

FirefoxBinaryとして指定)コマンドを起動して使用することができxvfb-run firefoxを行うだろうスクリプトを起動を作成することができます。あなたはそれをすべて理解した後、HOWTO(恐らくどこかのブログ)を共有してもいいですか?セレンの多くの人々がこのようなことをする方法に興味を持っていると思います。 – djangofan

答えて

1

、あなたは自分のXvfbのセッションで別々に

java -jar selenium-server-standalone-2.33.0.jar -role hub& 

をブラウザに追加することができ、その後、独自のXvfbのセッション、DISPLAYおよびポートで別々の場合

export DISPLAY=:11 
Xvfb :11 -screen 0 1024x768x16 & 

java -jar selenium-server-standalone-2.33.0.jar \ 
    -role node \ 
    -port 4441 
    -hub http://localhost:4444/grid/register \ 
    -browser "browserName=firefox,version=19,maxInstances=5"& 
+0

ポート番号オプションに合格しないと動作しません。そうでなければ、2つ以上のサービスは同じポート4444でリッスンできません。 – djangofan

+0

ハブは4444にありますが、私はそのデフォルトポートでクライアントについてあなたの意見を取ります。ノードの-portオプションを指定してポートを指定できます。私はこの例を更新した – KeepCalmAndCarryOn

1

を各ブラウザを接続この種の使用では、通常、xvfb-runコマンド(ディスプレイを自動的に選択することができますが、設定することができます)を使用することができます。

は、その後、FirefoxのセレンFirefoxが何をやろうとしていることは本当に面白いです、うわー

関連する問題