2012-05-10 3 views
1

私はログインを行い、ブラウザを閉じてもう一度開いて、ページで何かを確認する必要があるテストをしています。Selenium grid2:リモートでブラウザを閉じて開く方法

リモートハブを設定してwebdriverを実行するにはどうすればよいですか?または私はリモートなしでこれを実行する必要がありますか?

  1. ブラウザを開き
  2. ログイン
  3. 再び
  4. チェックログインが

答えて

1

おそらくあなたはいくつかのクッキーをテストしています。残念なことに、適切に制約しない限り、特定のノードが要求を実行する保証はありません。ハブが毎回そのノードにルーティングするように、クライアントが要求する固有の機能をノードに通知する必要があります。しかし、当然、そのノードがダウンした場合、要求を処理できる他のノードは存在しません。

+0

これは良い考えです。私の問題は、次のブラウザが開くノードがわからないということでした。しかし、もちろん、私はちょうど探してカスタム機能を定義することができます。 –

2

プロセスを覚えている閉じるブラウザ

  • オープンブラウザが達成するために:

    テストはこのようなものですこれは解決策と非常によく似ています非グリッド環境で使用できます。次のコードはJava向けに書かれていますが、C#が大きく異なるとは思いません。

    WebDriver driver = new RemoteWebDriver("hubURL", desiredCapabilities); 
    driver.manage().deleteAllCookies(); 
    driver.get("http://path/to/page"); 
    //login to application 
    driver.quit(); //This will close the browser on the remote machine 
    
    //Now to try it again 
    
    driver = new RemoteWebDriver("hubURL", desiredCapabilities); 
    driver.get("http://path/to/page"); 
    Assert.assertTrue(some element that is not on the login page but is on the page after is present); 
    driver.quit(); 
    
  • 関連する問題