頁面自動化時安全證書彈出框的問題。
阿新 • • 發佈:2017-09-25
彈出框 pan 頁面 cap 之前 必須 style 網上 keyevent
安全證書彈出框是網頁自動化測試遇到的最頭疼的問題了,沒有之一。凡是能通過webdriver定位到並解決的問題都不是問題,顯然安全證書彈出框不在此列。所以以前我都是在本地寫自動化用例,然後啟動的時候設置等待5秒,這5秒就是給我反應時間去點擊證書的取消按鈕。如今為了做成一個小框架,能和其他測試系統對接,並且讓用戶可以在其他系統通過調接口的方式並發完成多個系統頁面的自動化,這個問題是不得不解決了。
幸好已經解決了,以chromeDriver為例,不是網上所謂的設置ChromeOptions,那根本就沒用。我目前是通過java圖形界界面解決,是的,就是幾乎已經絕跡了的java.awt和其相關包。既然安全證書彈出框是系統彈出而不是瀏覽器彈出的,那就不要想著通過webDriver來解決,直接通過圖形界面來解決。
Robot r;
r = new Robot();
r.keyPress(KeyEvent.VK_ESCAPE);
r.keyRelease(KeyEvent.VK_ESCAPE);
簡簡單單就OK了。 當然這之前和之後要先讓線程sleep。而且打開瀏覽器必須放到線程裏來做,因為webdriver打開瀏覽器遇到安全證書彈出框時,會一直卡在這,代碼不會往下走的。
果然還是不能有見只障,學過的只是要融合在一起使用。
頁面自動化時安全證書彈出框的問題。