【问题标题】:How could Jenkins access to a website without security certificates?没有安全证书,Jenkins 怎么能访问网站?
【发布时间】:2015-04-10 21:08:21
【问题描述】:

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

First Image

所以我必须单击“Añadir Excepcion”(添加例外)链接添加安全证书。并且此验证不会再次出现。

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

Second Image

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

解决方案:

在 Jenkins 中添加 -trustAllSSLCertificates 命令。

【问题讨论】:

    标签: firefox selenium jenkins selenium-ide


    【解决方案1】:

    Selenium 只能与显示的网页中的 DOM 对话。显示有关网页证书的警报是由浏览器发出的,而不是网页的一部分。如果您只能使用 Selenium IDE 并且不能使用明显的解决方法(手动打开 URL 并告诉浏览器接受它,然后运行测试),那么您似乎被卡住了。

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

    【讨论】:

      【解决方案2】:

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

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

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

      【讨论】:

        猜你喜欢
        • 2020-09-07
        • 2018-03-10
        • 1970-01-01
        • 1970-01-01
        • 2022-10-09
        • 1970-01-01
        • 2017-12-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多