很多时候我们在进行自动化测试的时候,总会遇到页面alert弹窗,特别是在当你点击某个按钮,发送一个ajax请求,请求成功之后然后弹出一个alert 提示你 XXX成功,我们不知道这个ajax什么时候执行完成,我找了很多种办法都不好使,然后我百度js 如何关闭alert ,突然在简书上看到一个大神给出的方案:
就是直接把alert 重新定义了一下,然后我就在webdriver试了一下,果然 alert 没了 没了 没了……
以下是 java 代码:
System.setProperty("webdriver.chrome.driver", "C:\\Users\\Administrator\\Desktop\\test\\chromedriver.exe");
WebDriver driver = new ChromeDriver();
driver.get("http://localhost:8080/xxxx");
//重新定义alert为空函数
String js = "window.alert=function(){};";//定义一个js
JavascriptExecutor jse=(JavascriptExecutor)driver;
jse.executeScript(js);//执行js
Thread.sleep(2000);
System.out.println(driver.getPageSource());
//click 这句话我在自己项目中页面 加了个alert,点击之后果断失效,弹不出来。。。
driver.findElement(By.xpath("//input[@value='登 录']")).click();