2012-04-05 31 views
0

我是新來硒,但有一些簡單的網站自動化工作。 這是我無法弄清楚的:我有一個網站使用用戶 證書來驗證用戶。我發出以下...硒2.20:如何處理用戶身份請求對話框

WebDriver driver = new FirefoxDriver(); 
    driver.get("https://xt01:9100/owf/"); 
當網站出現

,所以不會在用戶Idenification請求 對話框,詢問其證書,我想「登錄」使用。我無法得到 保持該對話框中指定的證書,並按下按鈕, 因此,顯示了第一屏幕是「未授權」屏幕 (因爲我沒有具體說明:1)任何證書或2 )權證書)

Q)我應該如何「搶」這個對話框? Selenium IDE沒有註冊對話框(似乎沒有「看到」它,因此不包括任何點擊)

有一個選項(工具 - 選項 - 高級 - 加密)sez:「當 一個服務器請求我的個人證書」選項裏是 ‘自動選擇一個’或‘每次都詢問我’。對啓動火狐 情況下,我將其設置爲「自動選擇一個」和 點擊,但是這不是在下次啓動時「記住」(其 重置爲「每一次向我」),因此,我需要能夠 捕獲用戶標識請求對話框並在開始測試之前對其進行處理....如何?

在此先感謝...

回答

2

到目前爲止,我沒有時間去嘗試,但我認爲它應該幫助:

  • 創建新的Firefox配置文件並將其命名爲熟悉的東西 - 例如selenium
  • 在此配置文件,安裝定證書,讓FF記住你decission
  • 當創建FireFoxDriver的新實例,試試這個:

    ProfilesIni profile = new ProfilesIni(); 
    FirefoxProfile ffprofile = profile.getProfile("selenium"); 
    WebDriver driver = new FirefoxDriver(ffprofile); 
    driver.get("https://xt01:9100/owf/"); 
    
+0

這工作!花了我一段時間來創建一個配置文件(因爲我從來沒有這樣做過)。謝謝!! – user1315229 2012-04-05 14:50:55

+0

即使您選擇記住決定(並且列表中只有一個選項),Firefox 23.0.1也會要求您選擇證書。 :( – csviri 2013-09-16 12:11:40

+0

(我的意思是你重新啓動瀏覽器後) 任何辦法解決這個 – csviri 2013-09-16 12:28:16

0

證書是由操作系統管理,而不是瀏覽器。從瀏覽器的證書存儲中刪除所有必需證書,然後將瀏覽器配置爲只有一個證書存在時自動選擇證書。您也可以創建瀏覽器配置文件,讓程序啓動此配置文件或避免通過HTTPS進行測試。

1

證書提示可以通過user_pref("security.default_personal_cert", "Select Automatically"); 指定在您的配置文件的prefs.js中使用Firefox 33.0和selenium-webdriver-2.47.1爲我工作。

相關問題