Tellurium中關於Container的優化

2021-08-31 05:17:15 字數 1145 閱讀 3208

[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 為前...