2017-06-21 69 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代碼。事情是你需要設置這個能力。