Selenium網站自動化測試:如何處理Https Certificate Error

Selenium網站自動化測試:如何處理Https Certificate Error

這篇文章主要說明網站自動化測試如何處理 Https 遇到的certificate Error

如果沒有特別處理這樣的錯誤,就會導致整個自動化測試程式無法執行。

因此,自動化測試開始之前,必須要先將這樣的環境問題先解決。

最後,文章提供簡單python程式碼為例子,說明如何處理FireFox與Chrome所遇到的Https Certificate Error。

 

Https Certificate Error

舉例來說,當我們瀏覽這個網站的時候 https://cacert.org/

就會出現下列的錯誤訊息,由於該HTTPS網站所提供的Certificate沒有被信任的關係,

所以瀏覽器會詢問是否該網站是使用者真的想去的網站?

這是Https 用來驗證該網站是否為真實網站的基本方式。

如果該網址確實是我們要瀏覽的網址,同時也是我們希望可以做自動化測試的網址,那麼自動化測試要怎樣處理這樣的問題呢?

FireFox cert Error

Chrome Cert error

FireFox 如何處理

要處理這樣的Https Certificate的視窗,需要在FireFox啟動的時候就設定好相關的環境設屬性。Python/Selenium範例程式如下:

[pastacode lang=”python” message=”FireFox Https Certificate Handling” highlight=”” provider=”manual”]

from selenium import webdriver

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

driver = webdriver.Firefox(firefox_profile=profile)
driver.get('https://cacert.org/')

driver.close()

[/pastacode]

 IE 如何處理

 

 driver.navigate().to(“javascript:document.getElementById(‘overridelink’).click()”);

 

Chrome 如何處理

[pastacode lang=”python” message=”Chrome Https Certificate Handling” highlight=”” provider=”manual”]

from selenium import webdriver

options = webdriver.ChromeOptions()
options.add_argument('--ignore-certificate-errors')

driver = webdriver.Chrome(chrome_options=options)
driver.get('https://cacert.org/')

driver.close()

[/pastacode]

小結

自動化測試程式常會因為環境的關係導致測試結果失敗。

因此,在執行自動化測試程式之前,建議將相關的環境因素排除或是設定好再進行測試個案的執行。

這篇文章主要討論的是Https Certificate 錯誤的處理,

可以透過瀏覽器的設定排除這樣的視窗,

或是利用這篇文章提供的範例程式處理。

 

 

 

Leave a Reply

Your email address will not be published. Required fields are marked *