UI 自动化就是一组对页面元素操作的集合,页面元素的不同,操作方法不相同,下面介绍下各页面元素在 selenium 中是如何操作的
1.文本输入框
文本框最主要的功能就是输入信息
driver.findElement(By.id("kw")).sendKeys("selenium");
有的输入框中原本有文字,这时候要删除文字,也有方法
driver.findElement(By.id("kw")).clear();
2.链接
超链接比较常见,一般都是标签 a,如下:
<a href="http://www.baidu.com/" target="_blank" title="转到baidu主页">baidu</a>
超链接一般使用 click 方法
driver.findElement(By.linkText("baidu")).click();
页面中点击某个链接会弹出一个新的窗口,这样要去操作新窗口中的元素,这时就需要主机切换到新窗口进行操作。
Set<String> handels = driver.getWindowHandles(); // 得到当前窗口的Handle
List<String> list = new ArrayList<String>(handels); // 将Handles存入list中
driver.switchTo().window(list.get(1)); // 切换到新窗口
driver.findElement(By.id("kw")).sendKeys("selenium");
driver.findElement(By.id("kw")).clear();
driver.switchTo().window(it.get(0)); // 操作完后再返回至原页面
3.单选按钮
单选框使用 click 选中,当为必选时点击无效,单选框不为必选时,清除单选再点击一次即可
driver.findElement(By.id("selenium")).click();
单选框判断状态
driver.findElement(By.id("selenium")).Selected();//判断选中
driver.findElement(By.id("selenium")).isEnabled();//判断可选
4.复选框
复选框使用同单选按钮基本一致
5.下拉列表菜单
selenium 中使用 Select 类操作下拉列表元素
Select select = new Select(driver.findElement(By.id("selenium")));
选择下拉列表中的选项有以下三种方法
select.selectByIndex(int index); //通过index,index从0开始,第一个选项为0
select.selectByVisibleText(String text); //通过匹配到的可见文本值
select.selectByValue(String value); //通过匹配到标签里的value属性值
6.alert 对话框
页面弹窗细分三种,Alert(警告提示),prompt(提示输入框),confirm(确认输入框)
Selenium 使用 alert() 方法操作:
Alert alert =driver.switchTo().alert();
alert.accept(); //点确定
alert.dismiss(); //点取消
alert.sendKeys(“selenium”); //弹窗输入框中输入信息
alert.getText(); //获取alert的文本内容
7.上传按钮
一般,上传页面如果标签是 input,可以使用 sendkeys,输入你要上传的文件的绝对路径
driver.findElement(By.id("kw")).sendKeys("D:\\123.PNG");
如果不是这种标签的话,可以参照我另一篇https://testerhome.com/topics/12708