您的位置:軟件測試 > 開源軟件測試 > 開源功能測試工具 >
使用XML維護(hù)Selenium自動化測試腳本
作者:網(wǎng)絡(luò)轉(zhuǎn)載 發(fā)布時間:[ 2013/6/7 10:46:27 ] 推薦標(biāo)簽:

  簡介:軟件自動化回歸測試是軟件工程實(shí)踐中的重要發(fā)展趨勢之一。目前業(yè)內(nèi)主流的商業(yè)自動化測試工具和開放源代碼測試工具,都需要自動化測試人員熟悉開發(fā)編程語言。但是過高的編程門檻讓很大一部分的業(yè)務(wù)測試人員只能對自動化測試駐足遙望。為解決該群體的困擾,本文將介紹如何讓不熟悉編程的業(yè)務(wù)測試人員也能編寫出類似傳統(tǒng)功能測試用例的自動化測試用例,從而掃除自動化測試的技術(shù)障礙。

  本文適用于需要為測試團(tuán)隊(duì)開發(fā)自動化回歸測試框架的測試設(shè)計(jì)開發(fā)人員。目前業(yè)內(nèi)主流的商業(yè)自動化測試工具和開放源代碼測試工具,都需要測試人員熟悉開發(fā)編程語言。但是過高的編程門檻讓很多測試人員只能對自動化測試駐足遙望。為解決該群體的困擾,本文將介紹一種基于XML維護(hù)自動化測試腳本的自動化測試框架,并詳細(xì)描述了其中的技術(shù)實(shí)現(xiàn)細(xì)節(jié)。XML具有編寫簡單,易于在任何程序中讀寫數(shù)據(jù)等特性,這使得XML成為了數(shù)據(jù)交換的公共語言。使用基于XML的Selenium自動化測試框架,可以讓不熟悉編程的測試人員快速編寫出類似傳統(tǒng)功能測試用例的自動化測試用例,從而掃除自動化測試的技術(shù)障礙。

  本文首先會對比一下業(yè)內(nèi)主流的自動化測試工具,簡單分析測試人員使用這些工具時存在的問題。然后以測試人員編寫的一份傳統(tǒng)測試用例為例子,演示如何使用Selenium為其編寫自動化測試腳本文件。接著,介紹了如何開發(fā)基于XML的Selenium自動化測試框架。后,簡單介紹了一下如何為基于XML的Selenium自動化測試框架編寫更多的特性。通過比較兩種自動化測試實(shí)現(xiàn)方式,使用XML維護(hù)Selenium自動化測試腳本的優(yōu)勢一覽無余的展示出來。

  Web 應(yīng)用自動化回歸測試工具一覽

  隨著軟件公司的發(fā)展,產(chǎn)品線不斷擴(kuò)大,軟件新版本不斷推出,支持的平臺越來越豐富,如何高效、快速的對軟件產(chǎn)品進(jìn)行測試成為軟件測試團(tuán)隊(duì)的新挑戰(zhàn)。越來越多的項(xiàng)目組在考慮對軟件軟件產(chǎn)品進(jìn)行自動化回歸測試,考慮選取適合自己項(xiàng)目組的自動化工具。面對數(shù)目繁多、各式各樣的自動化工具,選擇也不是件很容易的事情。測試人員耳熟能詳?shù)臏y試工具如下表:

表格 1. 自動化測試工具

  如上表所示,開源的有Selenium、Watir等,商業(yè)的測試工具如Rational Functional Tester、Rational Robot、QTP、SilkTest等等。開源工具使用成本比較低,但功能不如商業(yè)工具豐富。商業(yè)工具可以提供強(qiáng)大的錄制功能,為初學(xué)者所喜愛,但錄制腳本并不是自動化測試優(yōu)方案。錄制腳本中的測試數(shù)據(jù)和腳本程序混雜在一起,很難進(jìn)行維護(hù);此外,當(dāng)測試用例發(fā)生較大的變更時,維護(hù)用例和重新錄制用例所花費(fèi)的精力不分上下。值得一提的是,RFT作為IBM Rational產(chǎn)品家族的重要組成部分,吸引了大量的測試人員使用該工具。IBM Frame框架,更是讓RFT測試腳本開發(fā)效率倍增,您們可以再 developerWorks上面發(fā)現(xiàn)很多關(guān)于這個框架的文章。以Selenium為代表的開源工具,也吸引了大量的測試人員,developerWorks上也發(fā)表了很多文章,如《使用分層的Selenium框架進(jìn)行復(fù)雜 Web 應(yīng)用的自動測試》等等。但是,不管使用什么樣的工具,都需要測試人員熟悉開發(fā)編程語言。編程門檻讓很大一部分的熟悉業(yè)務(wù)的測試人員只能對自動化測試駐足遙望。那么,如何讓不熟悉編程的測試人員也能編寫自動化回歸測試用例呢?

  業(yè)務(wù)測試人員擅長什么

  顯然,測試人員十分熟悉業(yè)務(wù),擅長編寫傳統(tǒng)的功能測試用例文檔。本文會給出一份簡化的測試用例:在搜索引擎谷歌站點(diǎn)查詢IBM開發(fā)者社區(qū),如下表:

表格 2. 測試用例

  該測試用例只包括測試步驟,每個測試步驟又分成若干組成部分:步驟編號、測試步驟、期望結(jié)果、實(shí)際結(jié)果、執(zhí)行狀態(tài)等。很顯然,業(yè)務(wù)測試人員肯定會寫出比這復(fù)雜得多的用例。我們用這份簡單的測試做演示使用。下面演示如何對這個用例做自動化測試。

  使用 Selenium 為測試用例編寫自動化腳本

  我們先以開源的 Selenium 工具為例,開發(fā)上述用例的自動化測試腳本。Selenium 包含 Selenium-IDE、Selenium Remote Control、Selenium WebDriver 和 Selenium Grid,他們共同組成了強(qiáng)大的自動化測試工具。Selenium RC 和 Selenium WebDriver 都可以使用 Selenium Sever,Selenium Server 還包括內(nèi)建的 Grid 功能特性。如果瀏覽器和測試用例運(yùn)行在相同的機(jī)器上并且測試用例完全基于 WebDriver API 編寫,可以直接使用 WebDriver 驅(qū)動瀏覽器,而不必使用 Selenium Server。在特定情況下,比如計(jì)劃使用 Selenium Grid 創(chuàng)建分布式自動化測試環(huán)境、或需要連接到安裝特別版本瀏覽器的遠(yuǎn)程機(jī)器上執(zhí)行測試用例腳本,必須使用 Selenium Server。下面分別簡單介紹一下各個組件:

  ● Selenium 2(又名 Selenium WebDriver):Selenium 2.0 的主要新特性是集成了 Selenium WebDriver API。WebDriver 被設(shè)計(jì)用于提供簡化精煉的編程接口,并解決了在 Selenium RC 中的一些限制。WebDriver 可以更好的支持使用 AJAX 技術(shù)的動態(tài)網(wǎng)頁?偟膩碚f,WebDriver 提供設(shè)計(jì)良好的面向?qū)ο蟮慕涌诤透倪M(jìn)的對動態(tài)網(wǎng)頁支持,是 Selenium 的未來發(fā)展方向。

  ● Selenium 1(Selenium Remote Control):曾是 Selenium 的主要組成部分,現(xiàn)已經(jīng)正式被 Selenium 官方棄用。替代者為 Selenium 2(Selenium WebDriver)。更多詳細(xì)內(nèi)容,請參考 Selenium 項(xiàng)目簡史。

上一頁1234下一頁
軟件測試工具 | 聯(lián)系我們 | 投訴建議 | 誠聘英才 | 申請使用列表 | 網(wǎng)站地圖
滬ICP備07036474 2003-2017 版權(quán)所有 上海澤眾軟件科技有限公司 Shanghai ZeZhong Software Co.,Ltd