2

ここにリストされているすべての手順を実行して、Webドライバーでバックアップされたiphoneエミュレーターをセットアップしました。ドライバーインスタンスの作成中に以下のコードを使用してローカルで実行するときに、エミュレーターのスクリプトを実行することもできます。

driver = Selenium::WebDriver.for :remote, :url => "http://localhost:3001/wd/hub", :desired_capabilities => :iphone

私がやろうとしているのは、このエミュレーターをsel grid 2に接続することです。このグリッド2には、Windowsマシン上でハブがリモートで実行されています。

誰かがコマンドを共有して、Macマシン(偶然にも私のローカルマシン)でSeleniumWebdriverノードを起動できますか?

何かのようなもの

java -jar selenium-server-standalone-2.21.0.jar -role webdriver -hubHost remotewindowmachine.com -hubPort 4444 -hub http://remotewindowmachine.com:4444/grid/register -host iphoneIP/hub -port 3001 -browser browserName=iphone

エラーをスローします

Exception in thread "main" java.net.BindException: Selenium is already running on port 3001.

それは当たり前のように思えますが、私はそれについて何をすべきかについて混乱しています。

だから誰かが私を助けることができますか?

4

1 に答える 1

2

ノード登録コマンドを実行してグリッドに登録する必要はありません。

エラーの理由

iPhone(およびエミュレータ)で iWebDriverApp を起動すると、リモート コントロールとしてポート 3001 で起動します。したがって、同じマシンの同じポート (3001) で別のノードを起動しようとすると、このエラーがスローされます。

ソリューション

エミュレータでは試していませんが、実機で試しています。デバイスに iWebDriverApp をインストールしたら、アプリのハブの詳細を設定する必要があります。これは、Settings->iWebDriverAppに移動することで実行できます。ハブの URL とポートを指定するテキスト ボックスがあります。次に、iWebDriverApp を再起動します。あなたのiPhoneはグリッドになります。

于 2012-05-10T04:28:18.703 に答える