单击某个元素

  采用元素id.click()方法即可

  双击某个元素id.doubleClick

  操作单选下拉列表

  测试网页HTML代码  

  <html>
    <body>
      <select name='fruit' size=1>
        <option id='peach' value='taozi'>桃子</option>
        <option id='watermelon' value='xigua'>西瓜</option>
        <option id='orange' value='juzi'>橘子</option>
        <option id='kiwifruit' value='mihoutao'>猕猴桃</option>
        <option id='maybush' value='shanzha'>山楂</option>
        <option id='litchi' value='lizhi'>荔枝</option>
      </select>
    </body>
  </html>

  JavaAPI实例代码:

  @Test
  public void operateDropList() {
    driver.manage().window().maximize();
    driver.navigate().to(url);
    //使用name属性查找下拉框
    Select dropList = new Select(driver.findElement(By.name("fruit")));
    //判断是否可以多选
    Assert.assertFalse(dropList.isMultiple());
    //断言当前选中的是否为桃子 //取下拉列表选项文本
    Assert.assertEquals("桃子", dropList.getFirstSelectedOption().getText());
    //选择下拉列表的第四个元素
    dropList.selectByIndex(3);
    //断言当前选中的是否为猕猴桃 //取下拉列表选项文本
    Assert.assertEquals("猕猴桃", dropList.getFirstSelectedOption().getText());
    //通过value属性选取下拉列表中的值
    dropList.selectByValue("shanzha");
    //断言当前选中的是否为山楂 //取下拉列表选项文本
    Assert.assertEquals("山楂", dropList.getFirstSelectedOption().getText());
    //通过选项文字选择
    dropList.selectByVisibleText("荔枝");
    //断言当前选中的是否为荔枝 //取下拉列表选项文本
    Assert.assertEquals("荔枝", dropList.getFirstSelectedOption().getText());
}

  检查单选列表的选项文字是否符合期望

  HTMl代码同上

  JavaAPI实例代码

  @Test
  public void checkSelectText() {
    driver.manage().window().maximize();
    driver.navigate().to(url);
    Select dropList = new Select(driver.findElement(By.name("fruit")));
    //声明一个list存储所期望的选项文字
    List<String> expect_options = Arrays.asList(new String[]{"桃子","西瓜","橘子","猕猴桃","山楂","荔枝"});
    //声明一个新的list对象存取从页面上获取的选项文字
    List<String> actual_option = new ArrayList<String>();
    //获取页面上的所有选项 并添加至actual_option列表中
    for (WebElement option : dropList.getOptions())
      actual_option.add(option.getText());
      Assert.assertEquals(expect_options.toArray(), actual_option.toArray());
}

  操作多选列表

  测试HTML页面代码 

  <html>
    <body>
      <select name='fruit' size=6 multiple=true>
        <option id='peach' value='taozi'>桃子</option>
        <option id='watermelon' value='xigua'>西瓜</option>
        <option id='orange' value='juzi'>橘子</option>
        <option id='kiwifruit' value='mihoutao'>猕猴桃</option>
        <option id='maybush' value='shanzha'>山楂</option>
        <option id='litchi' value='lizhi'>荔枝</option>
      </select>
    </body>
  </html>

  JavaAPI实例代码 

  @Test
  public void checkSelectText(){
    driver.manage().window().maximize();
    driver.navigate().to(url);
    //选择下拉列表
    Select dropList = new Select(driver.findElement(By.name("fruit")));
    //断言判断是否可多选
    Assert.assertTrue(dropList.isMultiple());
    //通过索引选择第4个元素
    dropList.selectByIndex(3);
    //通过Value值选择
    dropList.selectByValue("shanzha");
    //通过文本选择
    dropList.selectByVisibleText("荔枝");
    //取消所有选中项
    dropList.deselectAll();
    //重新选择
    dropList.selectByIndex(3);
    dropList.selectByValue("shanzha");
    dropList.selectByVisibleText("荔枝");
    //取消选中索引为3的
    dropList.deselectByIndex(3);
    //通过value取消选中
    dropList.deselectByValue("shanzha");
    //通过文本取消选中
    dropList.deselectByVisibleText("荔枝");
}

  操作单选框

  被测试网页的HTML代码 

  <html>
    <body>
      <from>
        <input type="radio" name="fruit" value="berry">草莓</input>
        <br/>
        <input type="radio" name="fruit" value="watermelon">西瓜</input>
        <br/>
        <input type="radio" name="fruit" value="orang">橘子</input>
      </from>
    </body>
  </html>

  Java版本API实例代码:

  @Test
  public void operartRadio(){
    driver.manage().window().maximize();
    driver.navigate().to(url);
    //查找单选按钮对象
    WebElement radioOption = driver.findElement(By.xpath("//input[@value='berry']"));
    if(!radioOption.isSelected())
      radioOption.click();
      //断言按钮是否处于选中状态
      Assert.assertTrue(radioOption.isSelected());
   //将单选按钮的对象存储到list中
   List<WebElement> fruits = driver.findElements(By.name("fruit"));
   //循环遍历查找属性为watermelon的单选按钮,如果该按钮未选择则调用单击选中
   for(WebElement fruit:fruits){
    if(fruit.getAttribute("value").equals("watermelon")){
      if(!fruit.isSelected())
        fruit.click();
      //断言是否选中
     Assert.assertTrue(fruit.isSelected());
      //成功选中退出循环
    break;
    }
  }
}

  操作复选框

  测试网页HTML代码 

  <html>
    <body>
      <from>
        <input type="checkbox" name="fruit" value="berry">草莓</input>
        <br/>
        <input type="checkbox" name="fruit" value="watermelon">西瓜</input>
        <br/>
        <input type="checkbox" name="fruit" value="orange">橘子</input>
      </from>
    </body>
  </html>

  Java语句版本的API代码:

  public class checkBox {
    WebDriver driver;
    String url = "file:///E:/%E6%9D%90%E6%96%99/%E9%A1%B9%E7%9B%AE%E8%B5%84%E6%96%99/%E5%A4%9A%E9%80%89%E6%A1%86.html";
    @Test
    public void operarteCheckBox(){
    driver.manage().window().maximize();
    driver.navigate().to(url);
    //查找复选框属性为orange的
    WebElement orangeCheckBox = driver.findElement(By.xpath("//input[@value='orange']"));
    //判断复选框是否被选择未选中则单击选中
    if(!orangeCheckBox.isSelected())
    orangeCheckBox.click();
    //断言是否选中
    Assert.assertTrue(orangeCheckBox.isSelected());
    //判断是否为取消状态,不是则单击取消
    if(orangeCheckBox.isSelected())
    orangeCheckBox.click();
    //断言是否取消
    Assert.assertFalse(orangeCheckBox.isSelected());
    //将所有name属性值为fruit的所有复选框存放至list中
    List<WebElement> checkboxs = driver.findElements(By.name("fruit"));
    //遍历复选框全部选中
    for(WebElement checkbox:checkboxs)
    checkbox.click();
}

WebDriverAPI(4)的更多相关文章

  1. WebDriverAPI(7)

      查看页面元素的属性 测试网址 http://www.baidu.com Java语言版本API实例 @Test public void getWebElementAttribute() { dri ...

  2. WebDriverAPI(10)

    操作Frame页面元素 测试网址代码 frameset.html: <html> <head> <title>frameset页面</title> &l ...

  3. WebDriverAPI(9)

    操作JavaScript的Alert窗口 测试网址代码 <html> <head> <title>你喜欢的水果</title> </head> ...

  4. WebDriverAPI(2)

    操作浏览器窗口 被测网址http:http://www.baidu.com Java语言版本的API实例代码 String url = "http://www.baidu.com" ...

  5. WebDriverAPI(8)

    判断页面元素是否存在 测试网址 http://www.baidu.com Java语言版本API实例 @Test public void testIsElementPresent(){ driver. ...

  6. WebDriverAPI(6)

    在指定元素上方进行鼠标悬浮 测试网址 http://www.baidu.com Java语言版本实例 @Test public void roverOnElement() { driver.manag ...

  7. WebDriverAPI(5)

    将当前浏览器截屏 测试网址 http://www.baidu.com Java语言版本实例 @Test public void captureScreenInCurrentWindows() { dr ...

  8. WebDriverAPI(3)

    获取页面的Title属性 被测网址http:http://www.baidu.com Java语言版本的API实例代码 String url = "http://www.baidu.com& ...

  9. WebDriverAPI(1)

    访问某网页地址 被测网址http:http://www.baidu.com Java语言版本的API实例代码 方法一: @Test public void visitURL(){ String bas ...

随机推荐

  1. 类里面的非static const成员

    类里面的成员变量可以用const修饰,在只用const不用static修饰的情况下,这种使用的限制比较多 (1)不能定义处初始化,必须在类的构造函数初始化列表里面初始化(虽然在vs中,可以在定义处初始 ...

  2. 2018.09.20 atcoder Building Cubes with AtCoDeer(枚举)

    传送门 有个十分显然的结论,只用枚举前后两个面就可以知道所有的面的颜色. 于是可以O(n2)O(n^2)O(n2)枚举前后两个面然后用map乱搞求贡献. 发现这样算出来会多算两倍(打表证明)于是答案除 ...

  3. asp.net Hessian 服务的注册

    Hessian服务端实现了IHttpHandle, 默认情况下是在Web.Config中的handles接点中注册,这样当有 很多实现时比较麻烦 这个时候可以实现IHttpHandleFactory注 ...

  4. java 解析txt/html文件

    package util.read; import java.io.BufferedReader;import java.io.FileReader; public class ReadFromFil ...

  5. RESTful架构概念

    本文转载自:http://www.ruanyifeng.com/blog/2011/09/restful.html 越来越多的人开始意识到,网站即软件,而且是一种新型的软件. 这种"互联网软 ...

  6. svn 创建tag

    1. 右键项目(源) 2. 选择复制到哪个路径(创建文件夹选项) 3. 选择哪个版本(源的) 4. 填写备注 5. 结束 使用:import  .合并等

  7. [label][politic-video]李锡锟的政治学视频下载链接

    李锡锟政治学 1.http://r15---sn-p5qlsn7y.googlevideo.com/videoplayback?initcwndbps=1471000&signature=09 ...

  8. 好久不发帖,转一下公司技术美术独立完成的U3D模拟暗黑泰瑞尔翅膀物理运动效果

    想入公司倍培养成为优秀的技术型美术,欢迎call我! Max制作翅膀模型部分 新建一个片面,模型给一些段数,赋予一张左右二方连续贴图. 加个FFD 4*4*4,并稍微拉出一点弧度. 将头尾的Alpha ...

  9. 打开AVD时报”Data partition already in use. Changes will not persist!”

    错误信息 WARNING: Data partition already in use. Changes will not persist! WARNING: SD Card image alread ...

  10. html5 app开发

    如今html5技术越来越成熟,很多iPhone 及Android 上的移动APP都能用html5来开发完成.让我们一起来了解一下html5开发app. 一.HTML5框架开发的移动APP 编写开发游戏 ...