Jenkins如何在没有安全证书的情况下访问网站?

时间:2015-04-10 21:08:21

标签: firefox selenium jenkins selenium-ide

我需要运行一个在Selenium IDE上创建的脚本。此脚本在测试站点上运行。本网站没有安全证书,当我第一次进入本网站时,会出现以下屏幕:

First Image

所以我必须点击“AñadirExcepcion”(添加例外)链接添加安全证书。此验证不会再出现。

但是当我在Jenkins上运行Selenium脚本时,这是测试套件的结果:

Second Image

我认为这是因为Jenkins / Selenium Server.jar因为认证验证而无法访问该网站。有人可以告诉我这是否正确或不正确,如果它是正确的,我怎么能“跳”或逃避这个验证。

  

解决方案:

     

在Jenkins中添加-trustAllSSLCertificates命令。

2 个答案:

答案 0 :(得分:0)

Selenium只能在显示的网页中与DOM对话。显示有关网页证书的警报由浏览器发出,不属于网页。如果您只能使用Selenium IDE并且您无法使用明显的变通方法(手动打开URL并告诉浏览器接受它,然后运行测试),那么您似乎陷入困境。

如果您使用Java或Python等其他语言编写Selenium Webdriver调用,则可以使用名为Sikuli的库来匹配并单击屏幕上的图标。让Sikuli检测到安全警报并单击正确的内容,然后返回到Selenium Webdriver调用以戳取网站。

答案 1 :(得分:0)

有可用的解决方法。 https://saucelabs.com/resources/selenium-totw-https-and-self-signed-certificate-exceptions

  

此问题的解决方法是创建自己的Firefox配置文件,   用手上添加的特定证书,然后告诉   Selenium根据该配置文件启动浏览器。

     

另一个有趣的方法 - 我们在Sauce Labs采取的方法,我们在那里   不能做这种伎俩,因为我们只是不知道哪个   用户在测试开始之前需要的证书 - 是使用   RCE(记住证书例外)。这是一个插件   自动检测警告并让浏览器通过它,   4或5秒后将控制权返回到Selenium。请注意,如果你   使用这种方法,您需要确保您的测试能够容忍   在打开页面之前这五秒钟的额外延迟。