• Selenium+java


    一、弹出框分类:

    弹出框分为两种,一种基于原生JavaScript写出来的弹窗,另一种是自定义封装好的样式的弹出框,本文重点介绍原生JavaScript写出来的弹窗,另一种弹窗用click()基本就能搞定。

    原生JavaScript写出来的弹窗又分为三种:

    alert

    confirm

    prompt

    二、弹窗处理常用方法:

    • alert/confirm/prompt弹出框操作主要方法有:
    • driver.switchTo().alert():切换到alert弹出框上
    • getText():获取文本值
    • accept() :点击"确认"
    • dismiss() :点击"取消"或者关闭对话框
    • send_keys() :输入文本值 --仅限于prompt,在alert和confirm上没有输入框

    三、被页面html源代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <title>弹窗练习案例</title>
        <script language="javascript">
            function checkup() {
                if (window.confirm("确定要删除吗?")) {
                    return true;
                } else {
                    return false;
                }
            }
    
            function welcome() {
                var myname = prompt("请输入你的姓名:");
                if (myname != null) {
                    alert("你好," + myname);
                } else {
                    alert("你好 my friend.");
                }
            }
        </script>
    </head>
    <body>
    <input id="alert" value="alert" type="button" onclick="alert('欢迎关注我的公号:软件测试君!请按确认继续!');"/><br>
    <button id="dialog" onclick="checkup()">删除按钮</button><br>
    <button id="welcome" onclick="welcome()">点击加入我们</button><br>
    </body>
    </html>

    四、alert弹窗处理

    具体实例代码如下:

    @Test
        public void testAlert() {
            driver.get("file:///C:/Users/Administrator/Desktop/popup.html");
            driver.manage().window().maximize();
            driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
            driver.findElement(By.id("alert")).click();
            //获取alert对话框
            Alert alert = driver.switchTo().alert();
            //获取对话框文本
            String text = alert.getText();
            //打印警告对话框内容
            System.out.println(text);
            //alert对话框属于警告对话框,我们这里只能接受弹窗
            alert.accept();
        }

    五、confirm弹窗处理

    具体实例代码如下:

    @Test
        public void testConfirm() {
            driver.get("file:///C:/Users/Administrator/Desktop/popup.html");
            driver.manage().window().maximize();
            driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
            driver.findElement(By.id("dialog")).click();
            //获取confirm对话框
            Alert alert = driver.switchTo().alert();
            //获取对话框的内容
            String text = alert.getText();
            //打印对话框的内容
            System.out.println(text);
            //点击“确认”按钮
            alert.accept();
            ////# 点击“取消”按钮
            //alert.dismiss();
        }

    六、prompt弹窗处理

    具体实例代码如下:

    @Test
        public void testPrompt() {
            driver.get("file:///C:/Users/Administrator/Desktop/popup.html");
            driver.manage().window().maximize();
            driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
            driver.findElement(By.id("welcome")).click();
            //获取prompt对话框
            Alert alert = driver.switchTo().alert();
            //获取对话框的内容
            String text = alert.getText();
            //打印对话框的内容
            System.out.println(text);
            //在弹框内输入信息
            alert.sendKeys("软件测试君");
            //点击“确认”按钮,提交输入的内容
            alert.accept();
        }

    六、运行结果

  • 相关阅读:
    大数运算
    混合背包问题
    多重背包问题(二进制优化)
    完全背包
    01背包问题
    树状数组
    构建之法阅读笔记04
    第一次冲刺个人总结07
    构建之法阅读笔记03
    第一次冲刺个人总结06
  • 原文地址:https://www.cnblogs.com/longronglang/p/11283232.html
Copyright © 2020-2023  润新知