Selenium2.0功能测试之Alert/Confirm/Prompt的处理

Eilene ·
更新时间:2024-11-13
· 730 次阅读

  WebDriver中处理原生JS的 alert confirm 以及prompt是很方便的(虽然现在原生JS的实现方式用的很少了)。具体思路是使用switchTo.alert()方法定位到当前的alert/confirm/prompt(这里注意当前页面只能同时含有一个控件,如果多了会报错的,所以这需要一一处理了),然后在调用Alert的方法进行操作,Alert提供了以下几个方法:   getText : 返回alert/confirm/prompt中的文字内容   accept : 点击确认按钮   dismiss : 点击取消按钮如果有取消按钮的话   sendKeys : 向prompt中输入文字    //这个方法在chromedriver中不起作用,IE的话由于家中无Windows没有做demo. package org.coderinfo.demo; import org.openqa.selenium.Alert; import org.openqa.selenium.By; import org.openqa.selenium.WebDriver; import org.openqa.selenium.firefox.FirefoxDriver; public class AlertDemo { private static final String URL = "file:///home/moon/Desktop/alert_demo.html"; /** * @author CoderInfo */ public static void main(String[] args) throws InterruptedException { WebDriver driver = new FirefoxDriver();  //创建一个firefox的 webdriver driver.get(URL); driver.manage().window().maximize(); Thread.sleep(1000); // 点击弹出alert driver.findElement(By.id("alert")).click(); Thread.sleep(3000); Alert alert = driver.switchTo().alert(); //捕获alert alert.accept();  //点击确认按钮 Thread.sleep(3000);  //等待3s //点击弹出confirm driver.findElement(By.id("confirm")).click(); Thread.sleep(3000); Alert confirm = driver.switchTo().alert();  //捕获confirm String confirmText = confirm.getText(); //获取confirm中的文字信息 System.out.println(confirmText); confirm.accept();  //confirm 点击确认按钮 //      confirm.dismiss();  //confirm点击取消按钮 Thread.sleep(3000); //点击弹出prompt driver.findElement(By.id("prompt")).click(); Thread.sleep(3000); Alert prompt = driver.switchTo().alert();  //捕获prompt //      String promptText = prompt.getText(); //获取prompt中的文字信息 //      System.out.println(promptText); prompt.sendKeys("可能是由于太懒了");  //向prompt中输入内容 Thread.sleep(3000); prompt.accept();  //prompt 点击确认按钮 //      prompt.dismiss();  //prompt点击取消按钮 Thread.sleep(3000); driver.quit(); // close webdriver } }



功能测试 confirm prompt alert selenium 测试

需要 登录 后方可回复, 如果你还没有账号请 注册新账号