2016-12-02 5 views
1

私はハブからRemoteWebDriverを得る:セレングリッドリモートドライバが実行されているノードを確認しますか?次のように

RemoteWebDriver driver = new RemoteWebDriver( 
             new URL("http://whatever:4444/wd/hub"), 
             DesiredCapabilities.internetExplorer()); 

はプログラム的にリモートドライバが実行されているグリッド内のどのノードを見つける方法はありますか?

断続的なテストの失敗を追跡するためにこれを記録します。

+0

[Selenium Server 2.20でサーバー名またはアドレスを実行する方法](http://stackoverflow.com/questions/9771932/how-to-get-executing-server-name-or-address-with)の可能な複製-selenium-server-2-20) –

+0

重複した質問に対する回答が間違っています。 –

答えて

2

テストがルーティングされたノードのIPとポートを調べる方法については、このブログの投稿を参照してください。

ブログ記事:https://rationaleemotions.wordpress.com/2016/01/15/where-did-my-test-run/一言で言えば

、ここにあなたがする必要があるものです(私は共有ブログは精巧な説明があり、必要なコード)

  • webdriverをからセッションIDを取得経由Webdriver.getSessionId ()
  • これで、前の手順で取得したセッションIDをURL http://localhost:4444/grid/api/testsession?session=に追加します(localhostを実際のグリッドIP /ホストに置き換えて、4444をグリッドがリッスンしているポートに置き換えます) POST呼び出し。
  • JSONレスポンスから、URLとして属性proxyIdの値を解析し、IPとポートを抽出します。

これは、私が構築したライブラリtalk2gridを介してすぐに使用できるようになりました。

関連する問題