您的位置:软件测试 > 开源软件测试 > 开源功能测试工具 > Selenium
Java Selenium (五) 元素定位大全
作者:小坦克 发布时间:[ 2017/7/12 15:05:57 ] 推荐标签:Selenium 功能测试工具

  页面元素定位是自动化中重要的事情, selenium Webdriver 提供了很多种元素定位的方法。 测试人员应该熟练掌握各种定位方法。 使用简单,稳定的定位方法。
  自动化测试步骤

  在自动化测试过程中, 测试程序通常的操作页面元素步骤
  1. 找到Web的页面元素,并赋予到一个存储对象中 (WebElement)
  2. 对存储页面元素的对象进行操作, 例如:点击链接,在输入框中输入字符等
  3. 验证页面上的元素是否符合预期
  通过这三个步骤, 我们可以完成一个页面元素的操作, 找到页面元素是很重要的一个步骤。 找不到页面元素,后面没法做了。
  Web页面技术的现实复杂性, 造成大量的页面元素很难定位。 经常有人不知道怎么定位。
  定位方法大全
  使用WebDriver对象的findElement函数定义一个Web页面元素
  使用findElements函数可以定位页面的多个元素
  定位的页面元素需要使用WebElement对象来存储,以便后续使用
  常用的定位页面元素方法如下, 按推荐排序

  如何定位
  在使用selenium webdriver进行元素定位时,通常使用findElement或findElements方法结合By类返回元素句柄来定位元素
  findElement() 方法返回一个元素, 如果没有找到,会抛出一个异常 NoElementFindException()
  findElements()方法返回多个元素, 如果没有找到,会返回空数组, 不会抛出异常
  如何选择定位方法
  策略是, 选择简单,稳定的定位方法。
  1. 当页面元素有id属性的时候,尽量使用id来定位。没有的话再选择其他定位方法
  2. cssSelector 执行速度快,推荐使用
  3. 定位超链接的时候,可以考虑linkText或partialLinkText:但是要注意的是 ,文本经常发生改变,所以不推荐用
  3. xpath 功能强悍。 当时执行速度慢,因为需要查找整个DOM, 所以尽量少用。 实在没有办法的时候,才使用xpath
  通过ID查找元素: By.id()
  通过页面元素的ID来查找元素是为推荐的方式, W3C标准推荐开发人员为每一个页面元素都提供的ID属性
  一旦元素被赋予了的ID属性., 我们做自动化测试的时候,很容易定位到元素. 元素的ID被作为的识别属性, 因为是快的识别策略.
  以百度主页为例, 搜索框的HTML示例代码如下, 它的ID为kw
  <input type="text" autocomplete="off" maxlength="100" id="kw" name="wd" class="s_ipt">
  “百度一下”搜索按钮元素的HTML示例代码如下, 它ID为su
  <input type="submit" class="btn self-btn bg s_btn" id="su" value="百度一下">
  在Selenium/WebDriver 中通过ID查找元素的Java示例代码如下
  WebDriver driver  = new FirefoxDriver();
          driver.get("http://www.baidu.com");
           
          WebElement searchBox = driver.findElement(By.id("kw"));
          searchBox.sendKeys("小坦克 博客园");
          WebElement searchButton = driver.findElement(By.id("su"));
          searchButton.submit();
          
          driver.close();

上一页12下一页
软件测试工具 | 联系我们 | 投诉建议 | 诚聘英才 | 申请使用列表 | 网站地图
沪ICP备07036474 2003-2017 版权所有 上海泽众软件科技有限公司 Shanghai ZeZhong Software Co.,Ltd