2012-01-03 94 views
4

我有2個問題:硒的webdriver餅乾/使用Web瀏覽器已經打開

  • 我已經建造了硒的webdriver腳本作品的權利,但他打開火狐的新實例。是否可以使用已打開的Firefox?如果是的話,怎麼樣?

  • 我需要向該網站發送信息,以使我的會話保持活動狀態。我打算每10分鐘使用一次cookie併發送一個請求。我不知道這是否是一個好主意......(我不能用硒認證,因爲網站生成像銀行網站數字表)

如果任何人都可以給我一些支持。 ..

回答

3

如果您使用的是Seleium2/WebDriver,那麼您可以通過調用new FirefoxDriver()來創建一個啓動瀏覽器實例,然後它可以在多個測試中重複使用。例如,如果您正在使用JUNIT,則可以在@BeforeClass中創建FirefoxDriver驅動程序,然後在@AfterClass中退出該驅動程序。

browserSessionReuse

下面SO後會解釋爲什麼會話可能會過期。它也可能取決於你如何編寫測試用例(可能是你正在使用setUp()方法初始化它)。 Selenium in -browserSessionReuse mode launchs a new browser

注:它始終是更好地創建和關閉每個測試的瀏覽器實例的測試隔離。

+0

太好了。感謝您的回覆Pangea。 – Matt 2012-01-03 20:03:49

+0

從硒服務器幫助文檔 -browserSessionReuse:停止測試之間瀏覽器的重新初始化和產卵。我試圖手動運行2個測試,但它沒有在同一個會話中運行。這是爲了不同的目的嗎? – 2012-01-04 04:18:20

+0

我接受的答案,但我已經發布了2個問題... – Matt 2012-01-04 11:23:25

0

如果您在測試用例中使用了firefox webdriver打開了FireFox Browser的實例,並且未關閉該實例,則可以將該實例用於RemoteWebDriver。如果一個測試用例失敗並且您想手動啓動另一個測試用例,您甚至可以使用該實例。 使用此代碼。

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/

相關問題