如何使用Java处理Selenium中的警报?
警报只不过是屏幕上出现的一个小消息框,用于提供某种信息或对潜在的破坏性操作发出警告,或者请求执行该操作的权限。
警报类型
1.简单的警报
selenium中的简单警报在窗口上显示一些信息或警告。
2. 确认提醒
确认警报要求允许执行某些类型的操作。
3. 提示警报
提示警报询问用户的一些输入。
在Selenium中处理警报
我们将与 Alert 接口一起使用四种方法。
1. 无效解雇()
void 解除方法用于单击警报的“取消”按钮。
driver.switchTo().alert().dismiss();
2. 无效接受()
void accept 方法用于单击警报的“确定”按钮。
driver.switchTo().alert().accept();
3.字符串getText()
void accept 方法用于捕获警报消息。
driver.switchTo().alert().getText();
4. void sendKeys(String stringToSend)
它用于向提示警报发送一些数据。
driver.switchTo().alert().sendKeys(“Text”);
自动化场景
- 启动网络浏览器并打开网页“https://demoqa.com/alerts”
- 单击确认警报按钮
- 接受警报
- 再次单击确认警报按钮
- 拒绝警报
安装
- Eclipse IDE :在下载之前还要确保您的设备有Java JDK。如果没有,安装Java参考这个:How to Download and Install Java for 64 bit machine?。并通过参考这篇文章 Eclipse IDE for Java Developers 安装 Eclipse IDE
- Selenium:在此处下载Selenium最新的稳定版本
- Web 驱动程序:在此处根据您的版本下载 Microsoft Edge Webdriver
Note: To open Chrome Browser Using Selenium please refer to this article How to Open Chrome Browser Using Selenium in Java?
程序
Java
package GFG_Maven.GFG_MAven;
import org.openqa.selenium.Alert;
import org.openqa.selenium.By;
import org.openqa.selenium.chrome.ChromeDriver;
public class Geeks {
public static void main(String args[]) throws InterruptedException {
System.setProperty("webdriver.chrome.driver","C:\\Users\\ADMIN\\Documents\\chromedriver.exe");
ChromeDriver driver = new ChromeDriver();
// Maximize the browser
driver.manage().window().maximize();
// Launch Website
driver.get("https://demoqa.com/alerts");
// clicking on prompt button
driver.findElement(By.xpath("//*[@id=\"confirmButton\"]")).click();
Thread.sleep(3000);
// accepting javascript alert
Alert alert = driver.switchTo().alert();
alert.accept();
// clicking on prompt button
driver.findElement(By.xpath("//*[@id=\"confirmButton\"]")).click();
Thread.sleep(3000);
// Rejecting javascript alert
Alert alert1 = driver.switchTo().alert();
alert1.dismiss();
}
}
输出:
该程序将打开网站并单击确认警报按钮并接受警报,然后再次单击警报按钮并拒绝警报。