2012-01-03 1 views
4

私は2つの質問があります:セレンwebdriverをクッキー/使用のWebブラウザが既に開い

  • を私は右の作品が、彼は、Firefoxの新しいインスタンスを開き、セレンwebdriverをスクリプトを建てました。既に開いているFirefoxを使用することは可能ですか?それがはいなら、どうですか?

  • セッションを有効にするために、情報をサイトに送信する必要があります。私はクッキーを使用し、10分ごとにリクエストを送信することを考えてきました。それはいいアイデアだ場合、誰もが私にいくつかのサポートを与えることができれば、私は(サイトは銀行のサイトのような番号のテーブルを生成するので、私は、セレンの真偽を使用することはできません)

...わかりません。 ..

答えて

3

Seleium2/WebDriverを使用している場合は、new FirefoxDriver()を呼び出してブラウザインスタンスを起動し、複数のテストで再利用できます。たとえば、JUNITを使用している場合は@BeforeClassFirefoxDriverドライバを作成し、@AfterClassで終了することができます。

browserSessionReuse

以下のセッションが期限切れにされる可能性がありますなぜSOポストは説明します。また、テストケースをどのように書いたかによって異なります(setUp()メソッドで初期化している可能性があります)。 Selenium in -browserSessionReuse mode launchs a new browser

注:それが作成し、各テストごとのブラウザインスタンスをシャットダウンしてテストを分離することは常に良いです。

+0

あなたの答えパンゲアに感謝します。 – Matt

+0

selenium server help documentation -browserSessionReuse:テスト間でブラウザの再初期化と起動を停止します。私は2つのテストを手動で実行しようとしましたが、同じセッションで実行されませんでした。これは別の目的ですか? –

+0

私は答えを受け入れますが、私は2つの質問を投稿しました... – Matt

0

テストケースでfirefox webdriverを使用してFireFox Browserのインスタンスを開いていて、そのインスタンスを閉じていない場合は、RemoteWebDriverでそのインスタンスを使用できます。 1つのテストケースが失敗し、他のテストケースを手動で開始したい場合は、そのインスタンスを使用することもできます。 このコードを使用してください。

IWebDriver WebDriver = null; 

try 
{ 
System.Uri uri = new System.Uri("http://localhost:7055/hub"); 
WebDriver = new RemoteWebDriver(uri, DesiredCapabilities.Firefox()); 
Console.WriteLine("Executed on remote driver"); 

} 

catch (Exception) 
{ 

WebDriver = new FirefoxDriver(firefoxProfile); 
Console.WriteLine("Executed on New FireFox driver"); 

} 

詳細はこのブログ記事を参照してください。 http://binaryclips.wordpress.com/2014/09/16/selenium-web-driver-in-c-how-to-continue-script-on-the-already-opened-browser-instance/

関連する問題