2012-05-09 5 views
2

私はwebdriverバックアップiphoneエミュレータを設定するには、hereに記載されているすべての手順を実行しました。 ドライバインスタンスの作成中に以下のコードを使用してエミュレータのスクリプトをローカルで実行しているときに、そのスクリプトを実行することもできます。私はするつもり何selgrid 2にiphoneエミュレータを接続するには?

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

は、Windowsマシン上でリモートで実行ハブを持っているSELグリッド2、このエミュレータを接続してあります。

Macマシン(偶然私のローカルマシン)上でセレンのwebdriverノードを起動するコマンドをいくつか共有できますか?

種類の明白なようだが、私はそれについて行われるようにいただきました!のよう混乱していますエラー

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

をスロー

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 

のようないくつかの事。

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

答えて

2

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

iPhone(およびエミュレータ)では

あなたのエラーの理由あなたがiWebDriverAppを起動したとき、それはリモコンとしてポート3001で起動します。したがって、同じマシン上の別のノードを同じポート(3001)で起動しようとすると、このエラーがスローされます。

ソリューション

私はエミュレータでそれを試してみましたが、実際のデバイスではなかったです。 iWebDriverAppをデバイスにインストールした後、そのアプリケーションのハブの詳細を設定する必要があります。これは、設定 - > iWebDriverAppに行くことで行うことができます。ハブURLとポートを指定するためのテキストボックスがあります。次に、iWebDriverAppを再起動します。あなたのiPhoneはグリッドにあります。

+0

はい私はノードとRCを同じポート上で実行しようとしているので、明らかにエラーがスローされることに同意します。残念ながら、私はテストするための物理的なIphoneデバイスを持っていないだろう。エミュレータを使用することは私の唯一の選択肢です。また、iphoneエミュレータの設定に行くと、私にはポートの1つのフィールドだけが与えられます。だから私は2番目のテクニックを使って実装することはできません。私はあなたの応答に感謝します。 – Amey

+0

ああ、私はあなたもエミュレータで同じ設定をすると思った。それはセレンのwikiで言及していることだからです。wikiの抜粋です。.....それをSelenium Grid2にフックする デバイスやエミュレータにアプリケーションをインストールしたら、 iOS設定アプリに移動します。下側に「iWebDriver」設定エリアがあります。これに入ると、サーバーポートとグリッドホスト/ポートの設定が表示されます。必要に応じて詳細を入力します。 –

+0

まさに私が思ったことですが、残念ながらポート番号であるフィールドは1つだけです。これは役に立たないものです。 – Amey

関連する問題