2011-03-21 89 views
1

我想用Selenium 2.0(Webdriver)來實現一系列的測試。在這些測試運行之前,我必須登錄到應用程序。由於該應用程序不是我自己的(測試api-built功能),每個測試都不應該登錄到我的應用程序中運行。如何在同一瀏覽器上重新運行Selenium 2.0(webdriver)測試?

我寧願做到以下幾點:

  1. 我webdriver的測試連接到我的Firefox瀏覽器(已的loggedIn)
  2. 運行我的webdriver項目相同的瀏覽器。

據我瞭解,硒通常是一個會話ID分配給它的瀏覽器。然而,目前的Selenium 2.0驅動程序的Java實現並沒有使用會話ID(也許它的確如此,但我不知道在哪裏可以找到它)。

有人可以提供關於如何解決我的問題的一些指導(現有的瀏覽器並使用Selenium 2.0(java)運行多個測試)?任何提供的代碼也會有所幫助。謝謝!

+1

不知道是否有幫助,但如果你想達到什麼是不必每次運行測試時重新登錄,你可以嘗試設置firefox配置文件。在硒1,你可以使用-firefoxProfileTemplate「路徑輪廓」,並設置一個特定的Firefox配置文件(這樣就記住了身份驗證cookie從一個運行到另一個) – 2011-03-21 22:33:03

+0

謝謝!我會嘗試這種方法。是的,我想如果我保存cookie並在每次運行中重新使用它們,我都不會遇到這個問題。 – nivas 2011-03-22 15:37:03

+0

這將有助於得到解決https://stackoverflow.com/questions/19690157/how-to-use-a-already-opened-firefox-for-testing-in-selenium希望 – 2017-06-25 14:31:06

回答

1

以下是我已經學會:

硒1:正如前面伊萬建議,啓動Selenium RC服務器並指向你的Firefox配置文件的位置時,用「-firefoxProfileTemplate」。

硒2:我想你可以使用硒1 RC服務器,但是,因爲硒2使用webdriver的,你可以指向你的代碼中的配置文件信息。

File profileDir = new File("/Users/_____/selenium/FFprofile"); 
FirefoxProfile profile = 
new FirefoxProfile(profileDir); 
WebDriver driver = new FirefoxDriver(
    profile); 

注:

  1. 確保您運行「火狐-profilemanager」創建初始配置文件並保存您的登錄信息。
  2. 允許瀏覽/網站總是存儲您的身份驗證憑據,避免「彈出」 /「登錄」 wwindows,ETCS。

希望這有助於誰可能會遇到類似的問題,有人:使用硒同一個瀏覽器配置文件等

+0

感謝Nivas,這只是幫助我。還有一個FirefoxProfileManager,您可以使用它來獲取配置文件集合,然後將其中一個傳遞給FirefoxDriver構造函數。這將避免對文件位置進行硬編碼 – 2011-04-22 19:46:35

相關問題