java selenium (十一) 操作弹出对话框
2024-09-29 08:16:09
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();
}
最新文章
- SQL Server 阻止了对组件 'Ad Hoc Distributed Queries' 的 STATEMENT 'OpenRowset/OpenDatasource' 的访问,因为此组件已作为此服务器安全配置的一部分而被关闭。系统管理员可以通过使用 sp_configure 启用 'Ad Hoc Distributed Queries'。
- Unity5网络模块UNet介绍
- 新成员!Visual Studio Code --跨平台的开发工具(支持OSX, Linux 和 Windows)
- ucenter同步登陆机制
- WPF 之 自定义窗体标题栏
- libvirt之virt-install
- 06-自定义Attribute标记案例
- win7 奇怪的temp用户
- linux下java调用.so动态库方法2: JNA
- perl json模块
- 基于jquery 封装的 select 小控件,解决 IE6 7 8里 select 边框 高度 无法遮挡等问题
- js取数组最大值的四种方式
- [工具] Altova UModel® 2017 is a UML tool for software modeling &; application development.
- poi读取word的内容
- WDA基础五:ALV组件的使用
- 解决nginx下不能require根目录以外的文件
- PAT 甲级 1151 LCA in a Binary Tree
- erlang 中文社区 下载
- c++ 用构造函数
- C++11新特性之六——元编程
热门文章
- HTML5的新增方法
- 代理 XP”组件已作为此服务器安全配置的一部分被关闭。系统管理员可以使用 sp_configure 来启用“代理 XP”。
- node的 thunkify模块说明
- angular的$scope
- Radmin Server-3.5 完美绿色破解版(x32 x64通用) 第三版 + 单文件制作方法
- Android first---外置内存剩余空间大小
- QLPreViewController的初步实用
- 获取div或者元素相对于屏幕坐上角的绝对位置
- pyqt4学习笔记
- Java知识积累3-XML的DOM解析修改和删除方法