首页 > 代码库 > webdriver --API--(java版) the second part

webdriver --API--(java版) the second part

操作下拉列表

<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);取消第一个下拉元素的选项

 

webdriver --API--(java版) the second part