自動化測試框架Tellurium使用方法介紹_第1頁
自動化測試框架Tellurium使用方法介紹_第2頁
自動化測試框架Tellurium使用方法介紹_第3頁
自動化測試框架Tellurium使用方法介紹_第4頁
自動化測試框架Tellurium使用方法介紹_第5頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

第第頁自動化測試框架Tellurium使用方法介紹自動化測試框架Tellurium使用方法介紹

發(fā)表于:2023-02-28來源::點擊數(shù):標簽:自動化googleGoogle集成測試;測試計劃元素

自動化測試框架Tellurium使用方法介紹這個框架是從Selenium框架發(fā)展而來,但又具有不同的測試理念。大多數(shù)Web測試框架,比如Selenium,主要致力于單獨的UI元素。而Tellurium恰好相反,它把多個UI元素看作一個Widget整體,并將其稱作UImodule。拿Google

自動化測試框架Tellurium使用方法介紹

這個框架是從Selenium框架發(fā)展而來,但又具有不同的測試理念。大多數(shù)Web測試框架,比如Selenium,主要致力于單獨的UI元素。而Tellurium恰好相反,它把多個UI元素看作一個Widget整體,并將其稱作UImodule。

拿Google搜索的UI做個例子,這個界面用Tellurium表示成如下這樣:

ui.Container(uid:"GoogleSearchModule",clocator:[tag:"td"]){

InputBox(uid:"Input",clocator:[title:"GoogleSearch"])

SubmitButton(uid:"Search",clocator:[name:"btnG",value:"Google

Search"])

SubmitButton(uid:"ImFeelingLucky",clocator:[value:"I'mFeeling

Lucky"])

}

正如你在例子中看到的,UImodule是嵌套的UI元素、tag以及attribute的集合。Tellurium在采用了UImodule之后,更具表述性,對變化的響應也更加智能化。同時它也可以很容易地表示動態(tài)Web內容,并易于維護。

這個框架由以下組件組成:

Trump——一個Firefox插件,全稱是TelluriumUIModulePlugin,它可以在用戶選擇待測Web頁面上的UI元素后,自動生成UImodule。

TelluriumIDE——另外一個Firefox插件,可以記錄用戶操作,并生成Tellurium測試腳本,包括UImodule的定義、用戶的動作以及斷言。測試腳本是用Groovy寫成的。

TelluriumWorks——一個單獨的JavaSwing應用,用于編輯和運行Tellurium測試腳本。另外還在開發(fā)一個針對IntelliJIDEA的IDE插件。

JavaScriptWidgetExtensions——針對流行JavaScript框架的擴展,比如Dojo和jQueryUI。這樣用戶就可以在項目中引用發(fā)布的Telluriumjar文件,并在UImodule定義中,把UIwidget當作一個普通的Tellurium對象。

特性

主要特性包括:

UImodule清楚地表示了待測的UI。在Tellurium的測試代碼中,并沒有直接使用定位器(locator)。而是使用uid對象來引用UI元素,從而更具表現(xiàn)力。比如:

type"GoogleSearchModule.Input","Telluriumtest"

click"GoogleSearchModule.Search"

使用UI屬性而不是固定的定位器來描述UI。實際的定位器將會在運行時生成。如果屬性改變了,新的運行時定位器也會由框架自動重新生成。Tellurium從而可以按需自適應UI的變化。

Tellurium0.7.0中的Santa算法通過一次定位整個的UImodule,從而進一步提高測試的智能性。此外還使用了UImodule部分匹配機制,在一定程度上適應屬性的變化。

采用了TelluriumUI模板和TelluriumUID描述語言(UDL)來表示動態(tài)的web內容。

框架實行UImodule和測試代碼的分離,從而有利于重構。

比如,UI和對應的測試方法定義在分離的Groovy類中。這樣,測試代碼就和UImodule解耦了。

另外該框架還:

使用抽象的UI對象來封裝WebUI元素

支持Widget以實現(xiàn)可重用性

為UI定義、動作和測試提供一門DSL

支持組定位,從而一次定位一組UI組件

包括CSS選擇器支持,以改善在IE中的測試速度

提供定位器緩存和命令集來提高測試速度

支持數(shù)據(jù)驅動測試

對比Selenium和Tellurium

SeleniumWeb測試框架是最流行的開源自動化web測試框架之一。它是一款獨創(chuàng)性的框架,提供了很多獨一無二的特性和優(yōu)勢,比如:基于瀏覽器的測試、SeleniumGrid以及使用SeleniumIDE來“錄制和回放”用戶的動作。

然后,Selenium有點問題。拿下面這段測試代碼舉個例子:

setUp("/","*chrome");

selenium.open("/");

selenium.type("q","Seleniumtest");

selenium.click("http://input[@value='GoogleSearch'and@type='button']");

如果有人不是很熟悉Google的搜索頁面,他能根據(jù)這段代碼,說出頁面的UI是什么樣子的嗎?定位器q在這里是什么意思呢?

萬一因為Web的變化,XPath//input[@value='GoogleSearch'and@type='button']變成無效的了,怎么辦?更有可能發(fā)生的是,這段代碼需要逐行檢查才能找出那幾行需要更新的代碼。

萬一這段測試代碼里面有幾十上百個定位器怎么辦?使用SeleniumIDE生成測試代碼,這可能在一開始比較容易,但歸納和重構起來就很困難了。

重構會是一個比從頭生成新測試代碼更乏味的過程。原因在于硬編碼的定位器和使用的測試代碼耦合太緊密了。因為測試代碼沒有結構化,維護代碼就變得異常困難。

作為一個低層次Web測試驅動框架,Selenium是一個很好的框架。然而,它需要投入更多的努力才能創(chuàng)建出智能的測試代碼。

Tellurium就是為解決Selenium中的大多數(shù)問題而誕生的。

Tellurium同時被設計用來解決Selenium的其他弱點。比如,IE性能一直是Selenium突出的問題。Tellurium的解決方案是,使用CSS選擇器來作為缺省的定位器。定位器由UImodule自動生成,并改善了測試速度。

另外,在采用了TelluriumUImodule緩存以及基于新的Tellurium引擎的命令集之后,測試速度得到進一步的提升。Tellur

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論