您的位置:軟件測(cè)試 > 開源軟件測(cè)試 > 開源功能測(cè)試工具 > Watir
Watir的xpath 應(yīng)用
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時(shí)間:[ 2014/2/26 11:31:18 ] 推薦標(biāo)簽:xpath Watir

Watir的element定位,是可以使用xpath來進(jìn)行定位的,它的實(shí)現(xiàn)過程如下:
通過DOM組件來獲得HTML文件的源文件
清除HTML源文件的格式,然后轉(zhuǎn)化為一個(gè)正確的XHTML文件
將XHTML作為一個(gè)輸入傳遞給REXML
使用REXML來解析XPath的表達(dá)式,從而獲得指定元素的路徑
將路徑通過COM方式返回給DOM,從而獲得定位

我們一般使用的XPath的路徑表達(dá)式有:
// 從匹配選擇的當(dāng)前節(jié)點(diǎn)選擇文檔中的節(jié)點(diǎn),而不考慮它們的位置。
.  選取當(dāng)前節(jié)點(diǎn)。
.. 選取當(dāng)前節(jié)點(diǎn)的父節(jié)點(diǎn)。
@  選取屬性。

實(shí)例:

1. 指定查找


我們有一個(gè)a元素為:<a href="test.htm">click me</a>


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

 # => "click me“


如果這個(gè)a是第一個(gè),我們可以用


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

browser.link(:xpath, //a[1]).html   #//a[1] 數(shù)組是以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. 相對(duì)路徑


例如有:

<div id="u">

<a href="http://www.baidu.com/gaoji/preferences.html" name="tj_setting">搜索設(shè)置</a>

</div>


我們可以對(duì)a的父節(jié)點(diǎn)進(jìn)行搜索:


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

#=> "div"


5. 完全模糊查找

當(dāng)我們只知道id,不知道type信息的情況下

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

軟件測(cè)試工具 | 聯(lián)系我們 | 投訴建議 | 誠(chéng)聘英才 | 申請(qǐng)使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd