#單屬性查詢
#當頁面中某對象可以由某個屬性唯一標識時,可以用單屬性查詢法。其語法遵循$ie.object_class(:<attribute>, “ <attribute value> ” ), 如
$ie.button(:id, "submit").exists?
$ie.div(:id, "div3").exists?
$ie.image(:alt , "flower" ).exists?
$ie.link(:url, "https://localhost:9043/ibm/console").exists?
# 多屬性組合查詢
#當一個頁面中存在多個屬性相同的對象,不能通過單個屬性來識別某個對象時,我們可以用多個屬性組合來查詢,如一數據表格中有多行,每行分別有一個 radio 按鈕,
#它們名字屬性相同,在這種情況下,我們可以通過兩個屬性,如名字 (name) 和索引 (Index) 的組合來進行查詢。
$ie.radio(:name => 'Employees', :index => 2).exists?
# 正則表達式匹配
# Watir 支持正則表達式模糊匹配,它適合於識別動態創建的頁面對象。其語法是查詢條件爲正則表達式,正則表達式由字符串前後附加的兩個反斜槓 // 來標明 ,
# 如 WAS Console 鏈接https://127.0.0.1:9043/ibm/console,由於主機名依賴於測試環境,所以我們可以用以下幾種正則表達式查詢方法來識別。
$ie.link(:url, /9043/ibm/console/).click
#或者是
$ie.link(:url, /https://127\\.0\\.0.\\1:9043*/).click
#注:* 代表任何字符,一些特殊字符,如”().”需要轉義 , 我們可以在 irb 模式下輸入 Regexp.escap “ {string to be converted} ” , 就能得到轉義後的字符串
# XPath 查詢
=begin
XPath 是 Watir 提供的一個強大查詢。我們在開發 Web 自動化程序的時候可能會經常碰到,一些對象很難被一個或一些屬性來唯一描述,
此時使用 XPath 查詢就非常必要。另外,當頁面 DOM 樹結構較爲複雜(如有很多嵌套的表格),而查詢對象在較深的層次時,
使用 XPath 查詢會加速對象的搜索。其表達式爲$ie.object_class(:xpath, “ xpath query ” ),比如:
=end
$ie.table(:xpath, "//table[@id='t1']/").exists?
Watir 進行對象識別方式
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.