2013-03-04 84 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运行,因为即使您在本地运行浏览器,这也是运行脚本时最好的方法。