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


↙↙↙阅读原文可查看相关链接,并与作者交流