3

私は残念ながら痛いほど初心者だと言って始めるべきです。でもそれを変えたい!!私はプログラミング言語をまったく知りませんが、必要な仕事を成し遂げるために十分な調査を行うことで、なんとか「物事を実現する」ことができました。

とにかく、私は Selenium IDE を使用して Selenium テストを作成していますが、これらのテストを Selenium Grid 経由で実行するのに少し問題があります。

テストを JUnit 4 (Webdriver) ファイルとしてエクスポートしています。私は Ubuntu ヘッドレス サーバーでグリッドを実行しており、リモート コントロールは IE9 と Firefox を実行している 1 台の Windows 7 マシンと、IE8 と Chrome を実行している Windows Vista マシンで実行しています。

私の目標は、Selenium IDE から JUnit 4 (Webdriver) ファイルとしてエクスポートしたテストを取得し、2 台の Windows マシンでグリッドから並行して実行することです。「seleniumgrid」という名前でUbuntuサーバーを認識するように、Windowsマシンのホストファイルを編集しました。例えば:

Ubuntu サーバー端末 1 の場合: ant launch-hub

Win7 ターミナル 1: ant -Dport=5555 -Denvironment="Windows 上の IE9" -Dhost=Win7 -DhubURL=http://seleniumgrid:4444 launch-remote-control

Win7 ターミナル 2: ant -Dport=5555 -Denvironment="Windows 上の Firefox" -Dhost=Win7 -DhubURL=http://seleniumgrid:4444 launch-remote-control

Vista termina1: ant -Dport=5555 -Denvironment="Windows 上の IE8" -Dhost=WinVista -DhubURL=http://seleniumgrid:4444 launch-remote-control

Vista ターミナル 2: ant -Dport=5555 -Denvironment="Chrome on Windows" -Dhost=WinVista -DhubURL=http://seleniumgrid:4444 launch-remote-control

ここから、Selenium IDE からエクスポートした JUnit4 (webdriver) ファイルを起動して、この構成を実行しようとしています。ファイルの名前は、Registration.java です。

Registration.jar ファイルを実行するにはどうすればよいですか? この質問に答えるドキュメントが見つからないようです。これにより、これがどのように機能するかについて根本的な誤解があると思います...

この質問が以前に回答されている場合はご容赦ください。このようなことになると、私は用語が苦手です。

これを読むために時間を割いてくれてありがとう、そして答えがあればさらに。

-ブランドン

4

1 に答える 1

2

ant 経由でハブとノードを起動する必要はありません。cmd から実行できます。

java -jar selenium-server-standalone-2.21.0.jar -role hub-- ハブ
java -jar selenium-server-standalone-2.21.0.jar -role node -hub http://seleniumgrid:4444/grid/registerを実行します -- ノードを実行します

ノードのデフォルトのポートは 5555 であるため、2 番目のターミナルには、デフォルトのポートとは異なるポート (例: 5556) を指定する必要があります。

java -jar selenium-server-standalone-2.21.0.jar -role node -port 5556 -hub http://seleniumgrid:4444/grid/register

また、各ノードのブラウザ パラメータを指定する必要があります。

-browser browserName=firefox,maxInstances=5,platform=WINDOWS

JUnit テストでは、以下を使用する必要がありRemoteWebDriverますDesiredCapabilities

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

並列実行の場合は、テストを追加で編集する必要があります (申し訳ありませんが、jUnit では動作しないため、以下にあるリンクを除いて、ここではあまり役に立ちません)。

JUnit クラス ファイル、JUnit テスト クラスを含むクラス ファイル、クラス ファイルが依存するライブラリを Linux マシンのクラスパスに含めます。

export CLASSPATH=$JUNIT_HOME/junit.jar:/myproject/classes:/myproject/lib/something.jar

Linux マシンで Junit コマンドを呼び出します。

 java org.junit.runner.JUnitCore [test class name]

または、代わりに使用できますant

Linux ではハブから開始し、Windows では並列化を行わずに 1 つのノードで 1 つのブラウザーを使用して開始することをお勧めします。これにより、この部分が正しく機能することを確認できます。次のステップとして、2 つのノードのテストを順番に実行してから、それらを並行して実行してみます。

完全なチュートリアルについては、次の資料を参照してください: How do I run JUnit using AntActivating Junit tests from Command LineGrid2 チュートリアルParallel JUnit 4 and Selenium (3部構成)

于 2012-04-28T20:41:27.013 に答える