Java Selenium (十一) 操作弹出对话框

Web 开发人员通常需要利用JavaScript弹出对话框来给用户一些信息提示, 包括以下几种类型

对话框类型

1. 警告框: 用于提示用户相关信息的验证结果, 错误或警告等

2. 提示框: 用于提示用户在当前对话框中输入数据,一般需要用户单击取消或者确认按钮

3. 确认框: 用于提示用户确认或者取消某个操作,一般需要用户单击取消或者确认按钮

 

测试页面

用如下页面为例进行讲解,包括了警告框,提示框,确认框。

http://sislands.com/coin70/week1/dialogbox.htm

 

Selenium 操作对话框的代码

public static void testAlert(WebDriver driver)
    {
        String url="http://sislands.com/coin70/week1/dialogbox.htm";
        driver.get(url);
        
        WebElement alertButton = driver.findElement(By.xpath("//input[@value='alert']"));
        alertButton.click();
        
        Alert javascriptAlert = driver.switchTo().alert();
        System.out.println(javascriptAlert.getText());
        javascriptAlert.accept();
    }
    
    public static void testPrompt(WebDriver driver) throws Exception
    {
        String url="http://sislands.com/coin70/week1/dialogbox.htm";
        driver.get(url);
        
        WebElement promptButton = driver.findElement(By.xpath("//input[@value='prompt']"));
        promptButton.click();
        Thread.sleep(2000);
        Alert javascriptPrompt = driver.switchTo().alert();
        javascriptPrompt.sendKeys("This is learning Selenium");
        javascriptPrompt.accept();    
        
        System.out.println(javascriptPrompt.getText());
        
        javascriptPrompt=driver.switchTo().alert();
        javascriptPrompt.accept();
        
        Thread.sleep(2000);
        promptButton.click();
        javascriptPrompt=driver.switchTo().alert();
        javascriptPrompt.dismiss();
        Thread.sleep(2000);
        javascriptPrompt=driver.switchTo().alert();
        javascriptPrompt.accept();
    }
    
    public static void testConfirm(WebDriver driver) throws Exception
    {
        String url="http://sislands.com/coin70/week1/dialogbox.htm";
        driver.get(url);
        
        WebElement confirmButton = driver.findElement(By.xpath("//input[@value='confirm']"));
        confirmButton.click();
        Thread.sleep(2000);
        Alert javascriptConfirm = driver.switchTo().alert();
        javascriptConfirm.accept();
        Thread.sleep(2000);
        javascriptConfirm = driver.switchTo().alert();
        javascriptConfirm.accept();
    }

附: selenium java教程 (连载中, 敬请期待)

java selenium (一) selenium 介绍

java selenium (二) 环境搭建方法一

java selenium (三) 环境搭建 基于Maven

java selenium (四) 使用浏览器调试工具

java selenium (五) 元素定位大全

java selenium (六) xpath 定位

java selenium (七) CSS 定位

java selenium (八) Selenium IDE 用法

java selenium (九) 常见web UI 元素操作 及API使用

java selenium (十) 操作浏览器

java selenium (十一) 操作弹出对话框

java selenium (十二) 操作弹出窗口

java selenium (十三) 智能等待页面加载完成

java selenium (十四) 处理Iframe 中的元素



相关文章

发表评论

Comment form

(*) 表示必填项

还没有评论。

跳到底部
返回顶部