2013-03-04 45 views
1

由於加載非HTTPS資源的第三方腳本(最初它們很好,但偶爾會更改),我們偶爾會看到受損SSL證書的頁面。我們希望每天測試這些網頁是否存在破損的SSL。如何使用Selenium檢測頁面上的SSL是否損壞

我們嘗試了一種方法,試圖捕獲彈出消息,表明我們在頁面上存在不安全的內容。但是,我們通過硒模擬彈出消息並未成功。看來硒已自動禁用任何彈出窗口。雖然我們已經確定了Selenium方法來禁用彈出窗口的抑制(disable-popup-handler),但即使使用此方法,我們也無法成功查看彈出窗口。

有沒有人找到一種方法來使用Selenium檢測破損的SSL頁面?

回答

1

您需要加載瀏覽器配置文件(使用WebDriver),該配置文件沒有啓用彈出窗口阻止程序的設置(使用Profile類併爲其提供正確的屬性)。然後,您將獲得有關SSL證書的Windows彈出消息。如果出於某種原因無法使用WebDriver控制彈出窗口(因爲它僅限於瀏覽器內容窗口中的Action控件),則可以使用Sikuli API來處理對話框並將證書導出到「Downloads」目錄,然後複製該文件到預期的位置進行檢查。不幸的是,如果你使用Sikuli,那會使你的自動化腳本順序化,而不能通過RemoteWebDriver網格服務器工作,所以你不能運行並行測試。和WebDriver一樣,您可以訪問對話框,因此您可以使用RemoteWebDriver運行,因爲即使您在本地運行瀏覽器,這也是運行腳本時最好的方法。