Selenium webdriver 学习笔记(三) - 基本UI控件操作
2015-11-27 17:16
501 查看
1. 文本框Textbox
// Find the username input element by its name
WebElement username = driver.findElement(By.name("username"));
// Enter the user name: jill
username.clear();
username.sendKeys("jill");
// Find the password input element by its name
WebElement password = driver.findElement(By.name("password"));
// Enter the password:123456
password.clear();
password.sendKeys("123456");
2. 按钮Button
// Click the Login button by className
WebElement loginButton = driver.findElement(By.className("btnTile"));
loginButton.click();
3. 下拉框Select
//通过id或者name来定位下拉框, new一个Select对象
Select globalSelect = new Select(driver.findElement(By.id("selectid")));
//通过选项索引选中第二项
globalSelect.selectByIndex(1); --[注]index是从0开始的
//通过下拉选项的内容选中第二项(second_item)
globalSelect.selectByVisibleText("second_item");
//遍历Select下拉列表的选项
WebElement select = driver.findElement(By.tagName("select"));
List<WebElement> myOptions = select.findElements(By.tagName("option"));
for (WebElement option : myOptions) {
System.out.println(option.getAttribute("value");
option.click();
}
4. 对话框Alert, Confirm, Prompt
//捕获Alert/Confirm/Prompt对话框
Alert alert = driver.switchTo().alert();
//获得Alert/Confirm/Prompt对话框内容
String alertText = alert.getText();
//确认Alert/Confirm/Prompt
alert.accept();
//取消Alert/Confirm/Prompt
alert.dismiss();
//输入值到Prompt
prompt.sendKeys("abc");
5. 弹出窗口 popup window
//使用driver.switchTo()可以进行Windows, Frames, Alerts, Confirms, Prompts之间的切换
driver.switchTo().window("windowhandle");
driver.switchTo().frame("framename");
driver.switchTo().alert();
6. 切换到新的Window (import java.util.Set;)
//1. 保存之前的Windows Handles
Set<String> beforeHandlers = driver.getWindowHandles();
String beforeHandler = beforeHandlers.iterator().next();
// 2. 执行弹出新窗口的操作
WebElement OKButton = driver.findElement(By.name("OK"));
OKButton.click();
//3. 保存现在的Windows Handles
Set<String> afterHandlers = driver.getWindowHandles();
//4. 从现在的Windows Handles中remove调之前的,就能得到刚弹出新窗口的window handle
afterHandlers.removeAll(beforeHandlers);
String newWinhandler = afterHandlers.iterator().next();
//5. 切换到新弹出的窗口
driver.switchTo().window(newWinhandler);
//6. 返回之前的窗口
driver.switchTo().window(beforeHandler);
7. 上传文件
WebElement FileUpload =driver.findElement(By.name("fileupload"));
String filePath = "C:\\myFile01";
earFileUpload.sendKeys(filePath);
// Find the username input element by its name
WebElement username = driver.findElement(By.name("username"));
// Enter the user name: jill
username.clear();
username.sendKeys("jill");
// Find the password input element by its name
WebElement password = driver.findElement(By.name("password"));
// Enter the password:123456
password.clear();
password.sendKeys("123456");
2. 按钮Button
// Click the Login button by className
WebElement loginButton = driver.findElement(By.className("btnTile"));
loginButton.click();
3. 下拉框Select
//通过id或者name来定位下拉框, new一个Select对象
Select globalSelect = new Select(driver.findElement(By.id("selectid")));
//通过选项索引选中第二项
globalSelect.selectByIndex(1); --[注]index是从0开始的
//通过下拉选项的内容选中第二项(second_item)
globalSelect.selectByVisibleText("second_item");
//遍历Select下拉列表的选项
WebElement select = driver.findElement(By.tagName("select"));
List<WebElement> myOptions = select.findElements(By.tagName("option"));
for (WebElement option : myOptions) {
System.out.println(option.getAttribute("value");
option.click();
}
4. 对话框Alert, Confirm, Prompt
//捕获Alert/Confirm/Prompt对话框
Alert alert = driver.switchTo().alert();
//获得Alert/Confirm/Prompt对话框内容
String alertText = alert.getText();
//确认Alert/Confirm/Prompt
alert.accept();
//取消Alert/Confirm/Prompt
alert.dismiss();
//输入值到Prompt
prompt.sendKeys("abc");
5. 弹出窗口 popup window
//使用driver.switchTo()可以进行Windows, Frames, Alerts, Confirms, Prompts之间的切换
driver.switchTo().window("windowhandle");
driver.switchTo().frame("framename");
driver.switchTo().alert();
6. 切换到新的Window (import java.util.Set;)
//1. 保存之前的Windows Handles
Set<String> beforeHandlers = driver.getWindowHandles();
String beforeHandler = beforeHandlers.iterator().next();
// 2. 执行弹出新窗口的操作
WebElement OKButton = driver.findElement(By.name("OK"));
OKButton.click();
//3. 保存现在的Windows Handles
Set<String> afterHandlers = driver.getWindowHandles();
//4. 从现在的Windows Handles中remove调之前的,就能得到刚弹出新窗口的window handle
afterHandlers.removeAll(beforeHandlers);
String newWinhandler = afterHandlers.iterator().next();
//5. 切换到新弹出的窗口
driver.switchTo().window(newWinhandler);
//6. 返回之前的窗口
driver.switchTo().window(beforeHandler);
7. 上传文件
WebElement FileUpload =driver.findElement(By.name("fileupload"));
String filePath = "C:\\myFile01";
earFileUpload.sendKeys(filePath);
相关文章推荐
- java对世界各个时区(TimeZone)的通用转换处理方法(转载)
- java-注解annotation
- java-模拟tomcat服务器
- java-用HttpURLConnection发送Http请求.
- java-WEB中的监听器Lisener
- Android IPC进程间通讯机制
- Android Native 绘图方法
- Android java 与 javascript互访(相互调用)的方法例子
- 介绍一款信息管理系统的开源框架---jeecg
- 聚类算法之kmeans算法java版本
- java实现 PageRank算法
- PropertyChangeListener简单理解
- 插入排序
- 冒泡排序
- 堆排序
- 快速排序
- 二叉查找树
- [原创]java局域网聊天系统