📜  如何使用Java处理Selenium中的警报?

📅  最后修改于: 2022-05-13 01:55:11.204000             🧑  作者: Mango

如何使用Java处理Selenium中的警报?

警报只不过是屏幕上出现的一个小消息框,用于提供某种信息或对潜在的破坏性操作发出警告,或者请求执行该操作的权限。

警报类型

1.简单的警报

selenium中的简单警报在窗口上显示一些信息或警告。

简单警报

2. 确认提醒

确认警报要求允许执行某些类型的操作。

确认警报

3. 提示警报

提示警报询问用户的一些输入。

提示警报

在Selenium中处理警报

我们将与 Alert 接口一起使用四种方法。

1. 无效解雇()

void 解除方法用于单击警报的“取消”按钮

2. 无效接受()

void accept 方法用于单击警报的“确定”按钮

3.字符串getText()

void accept 方法用于捕获警报消息。

4. void sendKeys(String stringToSend)

它用于向提示警报发送一些数据。

自动化场景

  • 启动网络浏览器并打开网页“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

程序

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();        
          
    }
  
}


输出:

该程序将打开网站并单击确认警报按钮并接受警报,然后再次单击警报按钮并拒绝警报。

输出