您的位置:软件测试 > 开源软件测试 > 开源功能测试工具 > Watir
Watir的xpath 应用
作者:网络转载 发布时间:[ 2014/2/26 11:31:18 ] 推荐标签:xpath Watir

Watir的element定位,是可以使用xpath来进行定位的,它的实现过程如下:
通过DOM组件来获得HTML文件的源文件
清除HTML源文件的格式,然后转化为一个正确的XHTML文件
将XHTML作为一个输入传递给REXML
使用REXML来解析XPath的表达式,从而获得指定元素的路径
将路径通过COM方式返回给DOM,从而获得定位

我们一般使用的XPath的路径表达式有:
// 从匹配选择的当前节点选择文档中的节点,而不考虑它们的位置。
.  选取当前节点。
.. 选取当前节点的父节点。
@  选取属性。

实例:

1. 指定查找


我们有一个a元素为:<a href="test.htm">click me</a>


browser.link(:xpath,"//a[@href='test.htm']").text

 # => "click me“


如果这个a是第一个,我们可以用


browser.link(:xpath, “//a”).html   #//a 返回第一个

browser.link(:xpath, //a[1]).html   #//a[1] 数组是以1开始,非0


2. 完全定位查找


百度的页面上有:


<input type="submit" value="百度一下" id="su" class="s_btn" nmousedown="this.className='s_btn s_btn_h'" nmouseout="this.className='s_btn'">


browser.button(:xpath,"//input[@id=‘su’]").type

# => “submit"


3. 也可以模糊查找

browser.button(:xpath,"//input[contains(@id, ‘su’)]").type

# => “submit"


4. 相对路径


例如有:

<div id="u">

<a href="http://www.baidu.com/gaoji/preferences.html" name="tj_setting">搜索设置</a>

</div>


我们可以对a的父节点进行搜索:


browser.element(:xpath, "//a/..").tag_name

#=> "div"


5. 完全模糊查找

当我们只知道id,不知道type信息的情况下

browser.element(:xpath, "//×[@id='u']").tag_name

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