安全证书弹出框是网页自动化测试遇到的最头疼的问题了,没有之一。凡是能通过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打开浏览器遇到安全证书弹出框时,会一直卡在这,代码不会往下走的。
果然还是不能有见只障,学过的只是要融合在一起使用。
时间: 2024-10-03 23:38:14