2017-06-21 56 views
0

我有一个自动化测试,填写用户名+密码字段,然后点击某个按钮进行登录。如何摆脱“此连接不安全...”的信息?

在开发期间,我设法运行这个自动化几十次没有任何问题。突然间,今天我发现对自动化测试的响应已经改变,现在我无法登录。我可以说受测试的WEB没有改变。我几乎可以确定的是,由自动化测试运行的FireFox在没有我的控制的情况下更新(浏览器自动化测试运行的版本为最新版本54,而我运行的浏览器版本为52)。

我试图配置版本54,以便他不会弹出消息(通过about:config),但我的设置不会保存。

首先,我想知道如何设法摆脱弹出消息?

第二件事我想知道如何防止浏览器版本的更新?

难道这是geckodriver有自己的FireFox设置和版本?

+0

我可以添加并说,问题是,只要我填写密码,我点击登录按钮,现在FireFox浏览器更新没有我的控制它弹出警告,导致我的自动化单击弹出消息而不是登录按钮 –

+0

你能保护连接吗? – user2357112

回答

1

首先,您可以配置FirefoxProfile接受不受信任的连接,如下图所示:

from selenium import webdriver 

profile = webdriver.FirefoxProfile() 
profile.accept_untrusted_certs = True 

driver = webdriver.Firefox(firefox_profile=profile) 

answer包含其他浏览器配置的详细信息,以及。

其次,以禁用Firefox浏览器自动更新,你可以按照下面的步骤:

  1. 启动Firefox,然后转到“工具 - >选项 - >高级”。
  2. 点击“更新”标签。
  3. 点击“Firefox更新”部分下的“从不检查更新”选项按钮。
  4. 重新启动Firefox。

让我知道,如果它可以解决您的问题。

+0

谢谢,你解决了我的问题。没有办法一次做这个设置吗?关于自动更新,我知道你提出的设置,但我认为:(a)现在有2个Firefox安装,我有geckodriver,如果我设置它,它也不适用于geckodriver。 (b)在我看来,像geckodriver的Firefox阻止了修改 –

+0

欢迎您:-)。不过,我不确定在我的环境中,我刚刚使用我共享的步骤禁用了自动更新,并且它可以正常工作,即Firefox不会自动更新。 – Mahipal

+0

你碰巧知道,如果可以让geckodriver使用与我在我的站上安装的相同的Firefox? –

0

您需要在您的功能中将acceptInsecureCerts设置为true。

DesiredCapabilities capabilities = DesiredCapabilities.firefox(); 
capabilities.setCapability(FirefoxDriver.MARIONETTE, true); 
capabilities.setCapability(CapabilityType.ACCEPT_INSECURE_CERTS, true); 

WebDriver webDriver = new FirefoxDriver(capabilities); 

编辑:抱歉关于java代码。事情是你需要设置这个能力。