在進行Web自動化測試時,有時網頁會彈出選擇證書的彈框,該彈框無法通過元素定位進行操作
如下圖的場景:

此時有兩個方法可以解決:
模擬鍵盤的Enter操作
此處以java為例:
import java.awt.*;
import java.awt.event.KeyEvent;
public class MyRunnable implements Runnable {
@Override
public void run() {
try {
Sleep.sleep(6000);
Robot Robot = new Robot();
Robot.keyPress(KeyEvent.VK_ENTER);
Robot.keyRelease(KeyEvent.VK_ENTER);
} catch (AWTException e) {
e.printStackTrace();
}
}
//測試類
public static void main(String[] args) {
MyRunnable myRunnable=new MyRunnable();
Thread t =new Thread(myRunnable);
t.start();
}
}
修改注冊表,自動選擇證書
1、Win + R打開運行,輸入regedit打開注冊表編輯器
2、找到這個目錄(沒有的話依據此目錄手動創建項):
\HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Google\Chrome\AutoSelectCertificateForUrls
3、在AutoSelectCertificateForUrls中,右鍵選擇新建 - 字符串值
4、名稱為1,數據為{"pattern":"*","filter":{}}

5、打開Chrome瀏覽器,URL輸入chrome://policy,查看是否存在此策略,沒有的話重新加載一下

此時,打開瀏覽器就不會提示選擇證書了
注冊表中的
"pattern":"*",此處的*代表匹配所有網站,如果需要其他匹配,可以這樣寫:https://[*.]xxx.com
