Problem
這陣子我們將web連線預設由原本的http轉到https,然而在透過IE做驗收測試時,出現了Certificate Error而導致測試無法繼續下去:
本篇是分享我實驗過與可能的解決方法。
How to resolve?
我們使用selenium grid的方式做測試,selenium的node搭載環境如下:
- OS: Windows2012 R2 x64
- IE: IE 11.0.9600.18618
- selenium-server-standalone: 3.8.1
- IEDriverServer: 3.4.0.0 (32.bit)
接下來分享我實驗的方法:
使用desired_capabilities
我在Open Browser的keyword之後加入以下參數:
desired_capabilities=acceptSslCerts:true;trustAllSSLCerficates:true
透過grid node的console可以看到參數有傳過去,但無法解決問題。
更新IEDriverServer
我將版本更新到3.8.0.0,但Open Browser會有錯誤訊息;礙於時間關係,就不繼續追蹤下去。
調整IE11設定
起初我調整Internet Options > Advanced設定,但沒作用:
接著我改使用匯入Certificate的方式,點擊Certificate error > View Certificates > Install Certificate:按照安裝步驟點下去,唯一要注意的是,憑證放置位置要選Trusted Root Certification Authorities:
完成之後重新啟動IE還是會看到Certificate Error,但錯誤已經變成Address Mismatch,這是由於簽發的名稱與實際連線主機名稱不同:
所以要去改IE設定,取消這個檢查:
重新啟動IE後應該就能夠正常執行測試。
這個方法只適用於專門測試的機器,一般正常使用的機器這樣做會降低安全性;此外,如果憑證有改或新增就要再執行匯入,比較不方便。
留言
張貼留言