操作下拉列表
<html> <body> <select name=‘fruit‘ size=6> <option id=‘peach‘ value=‘taozi‘>桃子</option> <option id=‘maybush‘ value=‘shanzha‘>山楂</option> <option id=‘litchi‘ value=‘lizhi‘>荔枝</option> <option id=‘orange‘ value=‘juzi‘>橘子</option> </select> </body> </html>
@Test public void operateDropList() { Select dropList =new Select(driver.findElement(By.name("fruit"))); //判断下拉列表是否可以复选,因为是单选列表所以用False,多选用true; Assert.assertFalse(dropList.isMultiple()); //getFirstSelectedOption()方法获取下拉列表第一个属性,getText()方法获取选项文本文字 Assert.assertEquals("桃子", dropList.getFirstSelectedOption().getText()); //通过序列号来锁定下拉选项,从0开始为第一个下拉元素; dropList.selectByIndex(3); //通过value值来进行选中操作 dropList.selectByValue("shanzha"); //dropList.selectByIndex(3).getText()方法报错,占时不知道什么原因,都引用dropList.getFirstSelectedOption().getText()进行断言 //Assert.assertEquals("山楂", dropList.selectByIndex(3).getText()); //通过选项文字进行选中,dropList.selectByVisibleText("荔枝").getText()报错了; // Assert.assertEquals("荔枝", dropList.selectByVisibleText("荔枝").getText()); List<String>expect_options=Arrays.asList((new String[]{"桃子","山楂","荔枝","橘子"})); List<String>actual_options=new ArrayList<String>(); //dropList.getOptions()获取下拉列表所有选项文本 for(WebElement option : dropList.getOptions()){ actual_options.add(option.getText()); } Assert.assertEquals(expect_options.toArray(), actual_options.toArray()); //多选下拉列表方法也是同上,注意断言多选dropList.isMultiple()使用assertTrue() //dropList.deselectByIndex(0);取消第一个下拉元素的选项
时间: 2024-10-11 00:00:13