您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 > Selenium
Selenium中常用的xpath
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2014/12/18 11:32:08 ] 推薦標(biāo)簽:Selenium 功能測試工具

  selenium大部分的方法參數(shù)都是java.lang.String locator,假如我們想傳入xptah表達式,可以在表達式的開頭加上"xpath=",也可以不加.如下面的兩個效果是一樣的.
  selenium.getAttribute("//tr/input/@type")  === selenium.getAttribute("xpath=//tr/input/@type")
  selenium中有一個比較特別而非常有用的方法
  java.lang.Number getXpathCount(java.lang.String xpath)
  通過此方法我們可以得到所有匹配xpath的數(shù)量,調(diào)用此方法,傳入的表達式不能以"xpath="
  開頭.
  另外需要知道的是:當(dāng)xpath表達式匹配到的內(nèi)容有多個時,seleium默認(rèn)的是取第一個,假如,我們想
  自己指定第幾個,可以用"xpath=(xpath表達式)[n]"來獲取,例如:
  selenium.getText("//table[@id='order']//td[@contains(text(),'刪除')]");
  在id為order的table下匹配第一個包含刪除的td.
  selenium.getText("xpath=(//table[@id='order']//td[@contains(text(),'刪除')])[2]");
  匹配第二個包含刪除的td.
  在調(diào)試xpath的時候,我們可以下個firefox的xpath插件,這樣可以在頁面上通過右鍵開啟xpath插件.
  然后隨時可以檢驗xpath所能匹配的內(nèi)容,非常方便.假如通過插件測試的xpath表達式可以匹配
  到預(yù)期的內(nèi)容,但是放到selenium中跑卻拿不到,那么有可能出現(xiàn)的問題是:在你調(diào)用seleium方法
  時,傳入的xpath表達式可能多加了或者是少加了"xpath=".
  以下為幾個常用的xpath:
  1.selenium.getAttribute("//tr/input/@type")
  2.selenium.isElementPresent("//span[@id='submit' and @class='size:12']");
  3.selenium.isElementPresent("//tr[contains(@sytle,'display:none')]");
  4.selenium.isElementPresent("//*[contains(name(),'a')]"); //這個等價于 //a
  5.selenium.isElementPresent("//tr[contains(text(),'金錢')]");

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