[b]一.概述[/b]
在tellurium中,所有的頁面元素和方法都會寫在groovy檔案中,乙個完整的groovy檔案可以是這個樣子的,以google首頁為例:
public class googlehomemodule extends dslcontext
}public void dogooglesearch(string input)
}
其中ui.container這部分是我們可以做優化的地方
[b]二.優化[/b]
首先,直接用tellurium ide產生出我們需要的**,最初工具產生的**是這樣的:
ui.container(uid: "table", clocator: [tag: "table"])}}
可以看到以上的container中,我們所需要的inputbox在最底層,上面有3個父節點.如果要做乙個搜尋操作的話,寫出來的**會是這樣:
type "table.selection.part.q", "james"
click "table.google"
這樣的話,乙個操作中對頁面元素的依賴性很高,不容易維護.由於tellurium也是(可以)用xpath去解析乙個元素,所以,比較理想的狀況是這樣去操作元素:
type "table.q", "james"
click "table.google"
所以,優化過的container最好是這個樣子:
ui.container(uid: "table", clocator: [tag: "table"])
在以上**中,將所有中間的container,多餘的元素屬性,通通刪除掉.讓我們對所需要的元素的尋找,僅僅依賴於該元素的name,以及最上層container的屬性(tag,name).
[b]三.總結[/b]
跟selenium一樣,我們的目標是要將頁面元素的依賴性降低,最好的結果是僅僅依賴於元素的id或者name
javasript中var let和const區別
let和const都是es5,es6新版本的js語言規範出來的定義,在這以前定義乙個變數只能用var。let和const都是為了彌補var的一些缺陷而新設計出來的。簡單來說是 let是修復了var的作用域的一些bug,變的更加好用。let是更好的var。複製 區別 var的作用於是函式作用域,其作用...
C語言關於函式實參和形參的型別匹配 const篇
int foo const char p int main int argc,char ar 關於上斷 編譯器會提示警告 warning argument is incompatible with prototype 要理解上述的問題,首先要了解下const關鍵字的處理機制 對於變數的修飾上 con...
python中關於Opencv中關於矩形的函式總結
最近處理影象,以前用的都是matlab,現在入手python比較慢,這幾天看到了很多命名和功能相似的函式,作個記錄總結一下 只是為了能夠看下函式知道它是做什麼的,因此不會對其用法說得面面俱到。看到乙個文章講得清晰詳實,分享一下 功能 計算輪廓內的面積 示例 輸入為乙個點集 contours 0 為前...