Selenium+java - 弹出框处理

1、弹出框分类:

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

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

alertjava

confirm测试

promptspa

2、弹窗处理经常使用方法:

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

3、被页面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>

4、alert弹窗处理

具体实例代码以下:code

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

5、confirm弹窗处理

具体实例代码以下:htm

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

6、prompt弹窗处理

具体实例代码以下:blog

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

6、运行结果

 

原文出处:https://www.cnblogs.com/longronglang/p/11283232.htmlip

相关文章
相关标签/搜索