999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于Selenium 的Web自動(dòng)化測(cè)試框架

2011-06-13 06:36:20
科技傳播 2011年18期

吳 瑩

上海同濟(jì)大學(xué)軟件學(xué)院,上海 201804

基于Selenium 的Web自動(dòng)化測(cè)試框架

吳 瑩

上海同濟(jì)大學(xué)軟件學(xué)院,上海 201804

隨著Web應(yīng)用的快速發(fā)展,Agile開(kāi)發(fā)方法和持續(xù)集成被廣泛運(yùn)用。軟件測(cè)試對(duì)于保證軟件產(chǎn)品的質(zhì)量至關(guān)重要,而通過(guò)搭建良好的測(cè)試框架來(lái)實(shí)現(xiàn)自動(dòng)化測(cè)試,可以降低各測(cè)試模塊之間的耦合,提高測(cè)試的效率和覆蓋率,同時(shí)也降低了測(cè)試的成本,更好的保證軟件質(zhì)量。

自動(dòng)化測(cè)試;測(cè)試框架;Selenium;TestNG

0 引言

隨著Web應(yīng)用的增多,新的模式解決方案中以Web為核心的應(yīng)用也越來(lái)越多。而Web應(yīng)用程序的驗(yàn)收測(cè)試常常涉及一些手工任務(wù),例如打開(kāi)一個(gè)瀏覽器,并執(zhí)行一個(gè)測(cè)試用例中所描述的操作。但是手工執(zhí)行的任務(wù)容易出現(xiàn)操作人員人為的錯(cuò)誤,也比較浪費(fèi)時(shí)間。因此,盡可能將這些任務(wù)自動(dòng)化,以消除人為因素,這是一種很好的做法。不僅可以提高軟件測(cè)試的可靠性,而且節(jié)約了成本,更好的保證軟件的質(zhì)量。如何提高自動(dòng)化測(cè)試腳本的維護(hù)性和移植性,成為一個(gè)亟待解決的問(wèn)題。

本文通過(guò)介紹自動(dòng)化測(cè)試工具Selenium,并結(jié)合測(cè)試框架TestNG,構(gòu)建分層的Selenium框架進(jìn)行復(fù)雜的Web應(yīng)用的自動(dòng)化測(cè)試。

1 Web自動(dòng)化測(cè)試

軟件測(cè)試對(duì)軟件質(zhì)量的保證起著至關(guān)重要的作用,當(dāng)前軟件開(kāi)發(fā)往往采取Agile開(kāi)發(fā)方法和持續(xù)集成的策略。當(dāng)測(cè)試人員一次又一次地完成相同的測(cè)試時(shí),這些測(cè)試將變得非常令人厭煩。因此,通過(guò)自動(dòng)化測(cè)試來(lái)實(shí)現(xiàn)重復(fù)的和一致的回歸測(cè)試,可以提高測(cè)試效率、降低測(cè)試成本、保證一致性、實(shí)現(xiàn)快讀的回歸測(cè)試、提高測(cè)試的可靠性、避免人為因素。

1.1 Web自動(dòng)化測(cè)試簡(jiǎn)介

自動(dòng)化測(cè)試工具很多,有開(kāi)源的,也有商業(yè)化的,它們各有各的特點(diǎn)。常見(jiàn)的Web自動(dòng)化測(cè)試工具有:QTP、Win Runner、Load Runner、Robot、SilkTest、Selenium等。而 Selenium可以說(shuō)是測(cè)試Web最全面的開(kāi)源自動(dòng)化工具,它支持多種瀏覽器和多種操作系統(tǒng),可以在Windows、Linux、Mac和Solaris上運(yùn)行,而且可以使用多種編程語(yǔ)言進(jìn)行構(gòu)建,如Java、C#、Perl、PHP、Python、Ruby,它可以測(cè)試的瀏覽器有IE、Firefox、Opera、Safari、Chrome。

1.2 Web自動(dòng)化測(cè)試軟件

1.2.1 Selenium組件

Selenium通過(guò)模擬用戶對(duì)Web頁(yè)面的各種操作,可以精確重現(xiàn)測(cè)試人員編寫(xiě)的測(cè)試用例的步驟。Selenium包含的組件有:

1)Selenium Core:是驅(qū)動(dòng)Selenium工作的核心部分,它是用JavaScript編寫(xiě)的函數(shù)集合,是Selenium IDE和Selenium RC 的引擎;

2)Selenium IDE:是Firefox 的一個(gè)插件,能夠錄制回放用戶在 Firefox 中的行為,具有代碼轉(zhuǎn)換功能,可以將Selenium語(yǔ)言的測(cè)試用例轉(zhuǎn)換為C#、Java、Python、Ruby等語(yǔ)言的測(cè)試用例,在Selenium-RC 中修改復(fù)用;

3)Selenium RC:Selenium Remote Control的縮寫(xiě),是使用具體的語(yǔ)言來(lái)編寫(xiě)測(cè)試類(lèi)。它支持多種瀏覽器,可以使用C#、Java等語(yǔ)言編寫(xiě)測(cè)試用例,易于維護(hù),同時(shí)提供了很好的擴(kuò)展性。Selenium RC在 Web 瀏覽器與需要測(cè)試的 Web 應(yīng)用程序間架設(shè)代理服務(wù)器(Selenium Server),使得 JavaScript 引擎與被測(cè) Web 應(yīng)用程序同源,繞開(kāi)同源策略的限制,進(jìn)而取得對(duì) Web 頁(yè)面進(jìn)行各種操作的權(quán)限。

1.2.2 Selenium基本原理

Selenium Server通過(guò)網(wǎng)絡(luò)與Selenium客戶端通訊,接受Selenium測(cè)試指令。Selenium Core被Selenium Server嵌入到瀏覽器頁(yè)面中,就是通過(guò)這些JavaScript函數(shù),實(shí)現(xiàn)了用程序?qū)g覽器進(jìn)行控制,執(zhí)行Selenium客戶端腳本中的測(cè)試用例,并通過(guò)網(wǎng)絡(luò)將執(zhí)行結(jié)果返回給Selenium客戶端,從而實(shí)現(xiàn)Web測(cè)試的自動(dòng)化。如下圖所示:

圖1 Selenium基本原理

1.2.3 Selenium Grid實(shí)現(xiàn)并行的web測(cè)試

Selenium Grid是Selenium 的一個(gè)擴(kuò)展,提供了一個(gè)類(lèi)似于網(wǎng)絡(luò)集線器(Hub)的遠(yuǎn)程測(cè)試控制器,能夠?qū)y(cè)試請(qǐng)求發(fā)送到若干個(gè)遠(yuǎn)程機(jī)器的Selenium RC上。允許同時(shí)并行地、在不同的環(huán)境上運(yùn)行多個(gè)測(cè)試任務(wù),極大的加快了Web應(yīng)用的功能測(cè)試。如下圖所示:

圖2 Selenium Grid

1.2.4 Selenium2.0與WebDriver

WebDriver是一個(gè)自動(dòng)化測(cè)試Web應(yīng)用程序的工具,它的目的是提供一個(gè)友好的API,易于探索和理解,有助于使我們的測(cè)試更易于閱讀和維護(hù)。它不依賴于任何特定的測(cè)試框架,因此在單元測(cè)試或者一個(gè)普通的main方法中都可以很好的使用它。WebDriver是完全獨(dú)立的,在使用它之前不需要啟動(dòng)任何額外的進(jìn)程或者運(yùn)行任何安裝程序,這與Selenium RC中的代理服務(wù)器是不同的。

而Selenium2.0的主要的新功能是將WebDriver API集成到Selenium 1.0中,這將解決隨著提供替代編程接口所帶來(lái)的局限性。它的目標(biāo)是建立一個(gè)面向?qū)ο蟮腁PI,它提供了對(duì)大量瀏覽器的更多的支持,以及對(duì)現(xiàn)代先進(jìn)的web應(yīng)用程序中的測(cè)試問(wèn)題的更好的支持。

2 自動(dòng)化測(cè)試框架

2.1 TestNG特性

TestNG尤其適合與Selenium結(jié)合使用,可以實(shí)現(xiàn)其他測(cè)試框架無(wú)法實(shí)現(xiàn)的測(cè)試,例如使用依賴項(xiàng)進(jìn)行測(cè)試,重新運(yùn)行失敗了的測(cè)試,以及使用單獨(dú)文件中定義的參數(shù)進(jìn)行參數(shù)化測(cè)試。所有這些特性結(jié)合在一起,使它在眾多 Web 應(yīng)用程序測(cè)試框架中脫穎而出。

2.2 基于Selenium和TestNG 的框架實(shí)現(xiàn)

在測(cè)試自動(dòng)化中,測(cè)試代碼不僅僅包含測(cè)試邏輯,還包含許多其他的代碼,比如URL拼接、Html/xml解析、訪問(wèn)UI控件,等等。若把測(cè)試邏輯與這些無(wú)關(guān)的代碼混在一起,測(cè)試邏輯將很難理解,也不容易維護(hù)。而采用分層結(jié)構(gòu)可以解決這一問(wèn)題。在分層的測(cè)試框架中,其三層結(jié)構(gòu)為:1)數(shù)據(jù)層,包含UI數(shù)據(jù)和測(cè)試數(shù)據(jù);2)測(cè)試用例層,包含業(yè)務(wù)邏輯和控制邏輯。驅(qū)動(dòng)程序WebDriver負(fù)責(zé)測(cè)試數(shù)據(jù)的載入和測(cè)試腳本的運(yùn)行;3)待測(cè)系統(tǒng)層。如下圖所示:

圖3 分層測(cè)試框架

TestNG支持三個(gè)級(jí)別的測(cè)試,分別是:Test Suite、Test、Test Method,通過(guò)結(jié)合注釋?zhuān)╝nnotation)的使用,可以實(shí)現(xiàn)測(cè)試用例的分組。通過(guò)使用testng.xml配置文件,可以實(shí)現(xiàn)參數(shù)化測(cè)試,這樣使測(cè)試案例的實(shí)現(xiàn)更加靈活。如下示例代碼可以看到:

圖4 示例代碼

上面的代碼中,注釋Parameters指定的參數(shù)在TestNG測(cè)試框架的配置文件testng.xml里具體定義,只要修改testng.xml中的參數(shù)值,就能由輸入?yún)?shù)驅(qū)動(dòng)不同的測(cè)試用例。如下所示:

圖5 testng.xml配置文件

3 結(jié)論

Selenium極大的簡(jiǎn)化了用戶驗(yàn)收測(cè)試,尤其當(dāng)使用TestNG驅(qū)動(dòng)的時(shí)候,在完全自動(dòng)化的驗(yàn)收測(cè)試中使用這些特性令它更加出眾。基于Selenium和TestNG搭建的測(cè)試平臺(tái),可以廣泛的應(yīng)用于Web自動(dòng)化測(cè)試。

[1]馮振華,高菊,曾紅衛(wèi).Web 應(yīng)用自動(dòng)化測(cè)試的研究[M].計(jì)算機(jī)工程與設(shè)計(jì),2010.

[2]周景才,楊家紅,陳毅波.模型驅(qū)動(dòng)的自動(dòng)化測(cè)試架構(gòu)[M].計(jì)算機(jī)工程與應(yīng)用,2010.

[3]鄧青華.軟件自動(dòng)化測(cè)試工具研究[J].軟件導(dǎo)刊,2011.[4]Antawan Holmes,Marc Kellogg.Automating Functional Tests Using Selenium[M],2009.

[5]Xinchun Wang,Peijie Xu,Build an Auto Testing Framework Based on Selenium and FitNesse,2009 International Conference on Information Technology and Computer Science.

[6]http://seleniumhq.org/docs/.

[7]http://testng.org/doc/documentation-main.html

[8]Chris McMahon,History of a Large Test Automation Project Using Selenium,2009 Agile Conference.

TP311.5

A

1674-6708(2011)51-0187-02

吳瑩,碩士,研究方向:軟件測(cè)試

主站蜘蛛池模板: 国产打屁股免费区网站| 国产美女叼嘿视频免费看| 毛片免费高清免费| 久久不卡精品| 米奇精品一区二区三区| 97在线碰| 久久毛片网| 日韩精品资源| 国产成人禁片在线观看| 日韩在线欧美在线| www.99精品视频在线播放| 亚洲色图欧美激情| 国模粉嫩小泬视频在线观看| 亚洲AV免费一区二区三区| 亚洲综合婷婷激情| 免费看久久精品99| 91精品啪在线观看国产| 日本三区视频| 欧美成人亚洲综合精品欧美激情 | 亚洲日韩AV无码精品| 亚洲成a人片| 伊人久久青草青青综合| 亚洲精品无码抽插日韩| 精品免费在线视频| 综合网天天| lhav亚洲精品| 色偷偷男人的天堂亚洲av| 国产av无码日韩av无码网站 | 国产成人精品在线| 波多野结衣一区二区三区四区视频| 亚洲无码37.| 成年看免费观看视频拍拍| 女人18毛片水真多国产| 国产素人在线| 国产黄色视频综合| 国产亚洲美日韩AV中文字幕无码成人 | 99久久精品免费看国产电影| 中文字幕在线永久在线视频2020| 亚洲成人一区二区| 亚洲人成人伊人成综合网无码| 日本国产精品| 青青草国产免费国产| 欧美午夜在线播放| 色欲不卡无码一区二区| 久久精品娱乐亚洲领先| 91青青草视频在线观看的| 成人午夜视频在线| 国产三区二区| 欧美成人看片一区二区三区| 日韩激情成人| 曰AV在线无码| 亚洲高清无码久久久| 亚洲aaa视频| 久久久久青草大香线综合精品| 在线观看国产精品第一区免费 | 欧美五月婷婷| 国产特级毛片aaaaaa| 久久无码av一区二区三区| 久久久久久高潮白浆| 韩日午夜在线资源一区二区| 国产精品视频免费网站| 亚洲国产欧美国产综合久久 | 青草午夜精品视频在线观看| 91无码人妻精品一区二区蜜桃| 亚洲欧美日本国产综合在线| 爆乳熟妇一区二区三区| 午夜免费小视频| 强奷白丝美女在线观看| 国产成人久视频免费| 狠狠躁天天躁夜夜躁婷婷| 婷婷成人综合| 波多野结衣无码AV在线| 欧美日韩另类在线| 欧美啪啪网| 蜜臀AV在线播放| 亚洲精品自拍区在线观看| 五月天丁香婷婷综合久久| 欧美啪啪一区| 日本精品视频一区二区| 永久天堂网Av| 午夜精品久久久久久久无码软件| 福利片91|