Watir 進行對象識別方式

    #單屬性查詢

       #當頁面中某對象可以由某個屬性唯一標識時,可以用單屬性查詢法。其語法遵循$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?


發佈了53 篇原創文章 · 獲贊 9 · 訪問量 6萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章