<ruby id="h6500"><table id="h6500"></table></ruby>
    1. <ruby id="h6500"><video id="h6500"></video></ruby>
          1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>
            • 軟件測試技術(shù)
            • 軟件測試博客
            • 軟件測試視頻
            • 開(kāi)源軟件測試技術(shù)
            • 軟件測試論壇
            • 軟件測試沙龍
            • 軟件測試資料下載
            • 軟件測試雜志
            • 軟件測試人才招聘
              暫時(shí)沒(méi)有公告

            字號: | 推薦給好友 上一篇 | 下一篇

            自動(dòng)化測試框架Tellurium使用方法介紹

            發(fā)布: 2011-2-28 09:40 | 作者: 方劍 | 來(lái)源: 領(lǐng)測軟件測試網(wǎng)采編 | 查看: 111次 | 進(jìn)入軟件測試論壇討論

            領(lǐng)測軟件測試網(wǎng)

            自動(dòng)化測試框架Tellurium使用方法介紹 

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

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

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

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

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

              Search"])

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

              Lucky"])

              }

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

              這個(gè)框架由以下組件組成:

              Trump——一個(gè)Firefox插件,全稱(chēng)是Tellurium UI Module Plugin,它可以在用戶(hù)選擇待測Web頁(yè)面上的UI元素后,自動(dòng)生成UI module。

              Tellurium IDE——另外一個(gè)Firefox插件,可以記錄用戶(hù)操作,并生成Tellurium測試腳本,包括UI module的定義、用戶(hù)的動(dòng)作以及斷言。測試腳本是用Groovy寫(xiě)成的。

              TelluriumWorks——一個(gè)單獨的Java Swing應用,用于編輯和運行Tellurium測試腳本。另外還在開(kāi)發(fā)一個(gè)針對IntelliJ IDEA的IDE插件。

              JavaScript Widget Extensions——針對流行JavaScript框架的擴展,比如Dojo和jQuery UI。這樣用戶(hù)就可以在項目中引用發(fā)布的Tellurium jar文件,并在UI module定義中,把UI widget當作一個(gè)普通的Tellurium對象。

              特性

              主要特性包括:

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

              type "GoogleSearchModule.Input", "Tellurium test"

              click "GoogleSearchModule.Search"

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

              Tellurium 0.7.0中的Santa算法通過(guò)一次定位整個(gè)的UI module,從而進(jìn)一步提高測試的智能性。此外還使用了UI module部分匹配機制,在一定程度上適應屬性的變化。

              采用了Tellurium UI模板和Tellurium UID描述語(yǔ)言(UDL)來(lái)表示動(dòng)態(tài)的web內容。

              框架實(shí)行UI module和測試代碼的分離,從而有利于重構。

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

              另外該框架還:

              使用抽象的UI對象來(lái)封裝Web UI元素

              支持Widget以實(shí)現可重用性

              為UI定義、動(dòng)作和測試提供一門(mén)DSL

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

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

              提供定位器緩存和命令集來(lái)提高測試速度

              支持數據驅動(dòng)測試

              對比Selenium和Tellurium

              Selenium Web測試框架是最流行的開(kāi)源自動(dòng)化web測試框架之一。它是一款獨創(chuàng )性的框架,提供了很多獨一無(wú)二的特性和優(yōu)勢,比如:基于瀏覽器的測試、Selenium Grid以及使用Selenium IDE來(lái)“錄制和回放”用戶(hù)的動(dòng)作。

              然后,Selenium有點(diǎn)問(wèn)題。拿下面這段測試代碼舉個(gè)例子:

              setUp("http://www.google.com/", "*chrome");

              selenium.open("/");

              selenium.type("q", "Selenium test");

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

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

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

              萬(wàn)一這段測試代碼里面有幾十上百個(gè)定位器怎么辦?使用Selenium IDE生成測試代碼,這可能在一開(kāi)始比較容易,但歸納和重構起來(lái)就很困難了。

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

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

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

              Tellurium同時(shí)被設計用來(lái)解決Selenium的其他弱點(diǎn)。比如,IE性能一直是Selenium突出的問(wèn)題。Tellurium的解決方案是,使用CSS選擇器來(lái)作為缺省的定位器。定位器由UI module自動(dòng)生成,并改善了測試速度。

              另外,在采用了Tellurium UI module緩存以及基于新的Tellurium引擎的命令集之后,測試速度得到進(jìn)一步的提升。Tellurium還支持對Ajax應用的測試:Tellurium的List和Table UI對象被用來(lái)在運行時(shí)表示動(dòng)態(tài)Web內容。而option對象則被用來(lái)在運行時(shí)表示同一Web元素的兩個(gè)不同UI。

              與Selenium一樣,Tellurium可以用來(lái)測試任何基于HTML DOM結構的Web應用。

            延伸閱讀

            文章來(lái)源于領(lǐng)測軟件測試網(wǎng) http://kjueaiud.com/

            TAG: google Google 元素 自動(dòng)化 使用方法

            31/3123>

            關(guān)于領(lǐng)測軟件測試網(wǎng) | 領(lǐng)測軟件測試網(wǎng)合作伙伴 | 廣告服務(wù) | 投稿指南 | 聯(lián)系我們 | 網(wǎng)站地圖 | 友情鏈接
            版權所有(C) 2003-2010 TestAge(領(lǐng)測軟件測試網(wǎng))|領(lǐng)測國際科技(北京)有限公司|軟件測試工程師培訓網(wǎng) All Rights Reserved
            北京市海淀區中關(guān)村南大街9號北京理工科技大廈1402室 京ICP備10010545號-5
            技術(shù)支持和業(yè)務(wù)聯(lián)系:info@testage.com.cn 電話(huà):010-51297073

            軟件測試 | 領(lǐng)測國際ISTQBISTQB官網(wǎng)TMMiTMMi認證國際軟件測試工程師認證領(lǐng)測軟件測試網(wǎng)

            老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月
              <ruby id="h6500"><table id="h6500"></table></ruby>
              1. <ruby id="h6500"><video id="h6500"></video></ruby>
                    1. <progress id="h6500"><u id="h6500"><form id="h6500"></form></u></progress>