关于定位

上一篇 / 下一篇  2016-06-07 10:19:52 / 个人分类:selenium

  Target主要用于识别Web页面的元素(少部分情况除外),在这种情况下,Target是一种定位表达式,其格式为“定位类型 = 定位值”,定位类型可省略。

1.identifier 定位
  最常见的定位方式,如果没有定位类型,这是一种默认的方式。IDE会首先寻找首个id属性等于定位值得页面元素,没有找到就会寻找首个name属性等于定位值的页面元素,如果id和name都没有等于定位值的元素,那么定位就会失败。

2.id 定位
  比identifier定位方式的搜索范围更精细,更具体。如果已经知道某个元素的id就可以使用这种方式,例id=loginForm。

3.name 定位
  name定位方式将会识别首个name属性等于定位值的页面元素。如果多个元素的name属性都相同,可以使用过滤器进一步细化定位,默认的过滤器类型是value。

注意:与XPath定位和DOM定位不同,以上3中定位可以让selenium在测试时执行不依赖UI元素在页面上的位置,当页面的结构发生变化时,测试依然能顺利执行。如果页面更改频繁,而又不得不进行回归测试,依赖id和name属性或其他任何HTML属性来进行定位的执行测试,就变得非常重要。

4.XPath 定位
  XPath表达式用于在XML文档中定位节点,HTML可以看做XML的一种实现。通过XPath既可以使用元素绝对路径来定位元素,也可以像之前一样使用id或name属性,还可以使用其他任何属性来定位。
  绝对路径的XPath表达式包含从根元素到指定元素的所有元素路径,因此对应用程序进行很轻微的改动,也可能引起测试不通过。相比之下,使用id或name属性来查找元素,或使用相对路径,比直接通过元素与元素之间的关系来查找元素要稳定的多。
  如果XPath表达式以“//”开头,无需再包含“xpath=”
  例:xpath=/html/body/from[1],采用绝对路径,轻微改动html,会导致测试不通过

5.链接文字定位
  通过链接文字定位方式,只需简单提供链接文本就可以定位到对应的链接,如果有两个链接的文本相同,则会匹配第一个链接。

6.DOM 定位
  DOM(Document Object Model)用于描述HTML文档,可以通过JavaScript进行访问,该定位方式需要JavaScript来计算出元素在页面上的位置,通过分级符号(.)可以轻松定位元素。只有DOM定位才会在开头使用“document”,所以“dom=”可以省略
  例:dom=document.forms['loginForm']
     document.forms[0].elements[3]
关于DOM更多:http://www.w3schools.com/HTMLDOM/dom_reference.asp

7.CSS 定位
  CSS(Cascading Style. Sheets)是一种描述HTML和XML文档显示方式的语言。CSS使用选择器来为文档中的元素绑定样式属性。
  例:css=from#loginForm
关于css更多:http://www.w3.org/TR/css3-selectors/

8.隐式定位
  在遇到以下情况时,Target表达式中可以省略“定位类型”。
  Target表达式没有指定明确的定位方式时,将默认使用identifier定位。
  如果Target表达式以“//”开头,则会使用XPath定位。
  如果Target表达式以“document”开头,则会使用DOM定位。


TAG:

 

评分:0

我来说两句

我的栏目

日历

« 2024-05-06  
   1234
567891011
12131415161718
19202122232425
262728293031 

数据统计

  • 访问量: 14282
  • 日志数: 6
  • 建立时间: 2016-04-25
  • 更新时间: 2016-06-08

RSS订阅

Open Toolbar