2016-11-17 155 views
0

我正在開發一個selenium項目,而我需要測試的系統是使用SSL證書。每次嘗試登錄時,我們都會得到這個「選擇證書」窗口。我們無法使用webdriver處理。如何停止chrome的選擇證書窗口

Chrome select a certificate window

我曾嘗試使用AutoItx如下ok鍵點擊。但Send("{ENTER}")不是最好的選擇繼續。

if (AutoItX.WinWaitActive("data:, - Google Chrome", "", 10) == 0) 
{ 
    AutoItX.WinActivate("data:, - Google Chrome"); 
    AutoItX.Send("{ENTER}"); 
} 

有沒有一種方法可以使用並使用autoItx點擊OK按鈕。或者有沒有一種方法可以在使用Capabilities定義chromedriver時加載此證書。

欣賞任何想法來解決這個問題。

回答

1

這有助於在Chrome版本59.0.3071.86(64位),Win 7的企業:

創建註冊表項:
HKEY_LOCAL_MACHINE \ SOFTWARE \策略\谷歌\鍍鉻\ AutoSelectCertificateForUrls

這裏創造新的用名稱的字符串值(REG_SZ)1

作爲數值數據輸入:
{ 「圖案」: 「[*。]」, 「過濾器」:{}}

This is how the registry then looks like.

有關該密鑰的詳細信息,我發現:

的值必須是字符串化JSON字典的陣列。每個字典必須具有{「pattern」格式:「$ URL_PATTERN」,「filter」:$ FILTER},其中$ URL_PATTERN是內容設置模式。 $ FILTER限制瀏覽器自動選擇哪個客戶端證書。獨立於篩選器,只會選擇與服務器的證書請求匹配的證書。如果$ FILTER的格式爲{「ISSUER」:{「CN」:「$ ISSUER_CN」}},另外只選擇由CommonName $ ISSUER_CN頒發的證書。如果$ FILTER是空字典{},則不會額外限制客戶端證書的選擇。

Automatically select client certificates for these sites

+0

這非常適用於Windows 7的機器,但是在Windows 10沒有。有沒有辦法讓它在Windows 10電腦上工作? (chrome v59) – posix99

+0

$ URL_PATTERN的格式是什麼?它是一個正則表達式模式還是使用*作爲通配符,或者只是一個沒有特殊模式匹配功能的普通字符串? – Steve