我需要运行一个在Selenium IDE上创建的脚本。此脚本在测试站点上运行。本网站没有安全证书,当我第一次进入本网站时,会出现以下屏幕:
所以我必须点击“AñadirExcepcion”(添加例外)链接添加安全证书。此验证不会再出现。
但是当我在Jenkins上运行Selenium脚本时,这是测试套件的结果:
我认为这是因为Jenkins / Selenium Server.jar因为认证验证而无法访问该网站。有人可以告诉我这是否正确或不正确,如果它是正确的,我怎么能“跳”或逃避这个验证。
解决方案:
在Jenkins中添加-trustAllSSLCertificates命令。
答案 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。请注意,如果你 使用这种方法,您需要确保您的测试能够容忍 在打开页面之前这五秒钟的额外延迟。