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

基于Watir框架的Web自動化測試

2015-05-30 13:14:14許瀚青姚礪
科技創新與應用 2015年20期

許瀚青 姚礪

摘 要:在迭代開發模式中需要執行大量的回歸測試,為了提高測試效率和減輕手工測試的壓力,提出了一種Web自動化的回歸測試框架。通過對現有測試自動化工具的對比研究,文章選擇Watir作為基本自動化框架,并對其進行封裝修改生成一套新的Web自動化測試框架SAFIR。實際使用SAFIR進行回歸測試,和手工測試相比效率提高了70%,大幅減少了回歸測試上的人工投入。

關鍵詞:回歸測試;Web測試;自動化測試框架;Watir

引言

文章從Web自動化測試的種類,主流的測試工具和框架,以及Watir在網頁自動化測試方面的優勢,基于Watir的自動化測試框架并結合產品本身特點,分析將Watir框架進行二次開發和封裝的可行性,最后得出結論,將基于Watir的自動化測試系統投入到回歸測試中去。

1 Web自動化技術

1.1 自動化測試簡介

Web自動化測試是使用軟件工具通過編寫腳本的方式, 對Web應用的界面主要元素進行一系列模擬手動的操作。

目前,市場上有很多Web自動化測試工具,QTP、Test Manager以及Watir都是不錯的選擇。QTP比較簡單易學,但QTP執行速度較慢而且經濟成本較高。Test Manager是微軟Visual Studio的一個測試組件,使用的用戶面狹窄且資源有限。Watir支持IE、FireFox和Chrome等主流瀏覽器,而且是個開源自動化工具。經過對比最終選擇Watir作為自動化框架。

1.2 Watir簡介

Watir是一種基于網頁模式的自動化功能測試框架,用Ruby語言在Selenium-Webdriver的基礎上進行二次封裝,從而使得其API能夠更好的符合Ruby語言的規范。而Ruby語言本身作為一種面向對象的腳本語言,運行效率高,語法簡潔,可閱讀性強,作為測試用例的腳本語言非常適合。

Watir通過DOM技術來獲取Web頁面的元素。作為一個的開源自動化測試框架,已經有很多公司例如HP、Facebook、阿里巴巴等都在使用它對Web應用進行功能測試和回歸測試。

1.3 Watir框架存在的不足

雖然Watir已滿足基本的自動化測試需求,但是它還在存在一些不足,譬如對外部文件數據的讀取、測試日志的建立與導出、訪問數據庫等功能,這些Watir都還沒有實現。而實現這些功能可以更加提高自動化測試的效率。因此,在使用Watir的基礎上,對它進行二次開發,實現上述功能,完善watir自動化測試框架成為了課題。

2 Watir自動化測試設計與實現

2.1 產品背景以及SAFIR框架簡介

Service Manager 是一款服務解決方案,IT部門能夠通過這套系統對企業的部門和個人日常IT事務進行統一管理。由于這個系統基于B/S架構,所以測試時都是在網頁瀏覽器上完成。公司為了提高回歸測試效率,結合產品本身的特點,針對Watir框架中存在的不足,對常用頁面元素進行封裝,添加了文件讀取、日志記錄、訪問數據庫功能,開發出一套新的Web自動化測試框架-SAFIR(SM Automation Framework in Ruby)。

2.2 SAFIR框架的設計和實現

作為一套自動化網頁測試工具,SAFIR支持獲取網頁的頁面元素的功能,在獲取頁面元素之后對元素進行點擊、輸入,選中,復制和粘貼等操作。在測試數據處理方面,SAFIR能靈活導入導出文件,并且讀取常用的數據文件類型比如csv、txt和xml。從準備數據,到執行測試步驟,驗證預期與實際結果都會有日志記錄下來,如果出現失敗場景腳本會立即終止失敗用例,并對失敗的場景進行截圖保存到日志文件夾,以便測試工程師分析失敗原因。

在回歸測試過程中,為了提高自動化代碼的復用性,面向對象的思路設計測試框架是必須的,在框架底層我們定義了一個WebObject基類,他主要作用是實例化網頁對象、定義log日志函數、定義失敗場景的截圖函數,Assert()結果驗證函數。WebFrame類繼承WebObject基類,初始化主要頁面的頁面區域,如導航面板、列表、詳細信息、工具欄等區域,對他們進行封裝。再根據每個區域內元素的特點定義所需要的方法和屬性。在這兩個底層類之上是一個公共函數庫Common.rb,有許多使用頻率極高的動作函數被定義在這個公共類庫里,比如數據導入、導出、清空、用戶登入登出和增刪改查等等。在寫測試腳本時,我們只需調用這幾個區域中對象或者調用公共函數庫的函數,即能達到代發復用性的目的。

2.3 測試用例層的設計

實現框架以后,利用框架提供的方法和屬性,編寫測試腳本。在SAFIR框架之中,測試腳本的執行是一個線性的過程。一個用例可分為四部分,首先是定義引用的框架文件,例如引用webObject.rb、Commons.rb、WebFrame.rb等文件。測試的前置工作,例如登錄系統,數據備份都由Setup()來完成。Test()方法塊,這是測試用例的核心,每個步驟封裝成step1()、step2()等小的方法體定義在Test()方法中,目的是提高腳本的可讀性和可維護性。當測試步驟做完以后,Teardown()方法塊會刪除測試數據、重置的文件、退出登錄、關閉瀏覽器。

3 Watir自動化測試的執行結果

SAFIR現已應用于公司的的產品開發部,主要對于開發部內幾款的Web 應用產品進行回歸測試。在相同的測試環境中對同一個功能模塊分別進行自動化測試和手工測試,和以往手工回歸測試相比,自動化的回歸測試縮減了70%的測試時間,而找到bug的概率卻比手動回歸測試提高了15%。可見自動化在回歸測試中扮演者很重要的角色。隨著產品開發不斷深入,更多的自動化測試用例會被添加到回歸測試之中,這樣可以得到倍數與前期回歸測試的效率提高。

4 結束語

文章通過對網頁自動化測試的介紹和回歸測試特點的分析,選擇了開源自動化測試工具Watir作為框架,并結合公司項目產品設計了自動化回歸測試框架SAFIR。SAFIR中對于自動化測試過程中的網頁元素定位和操作、腳本編寫、測試執行和測試結果分析都有相應的規范和模塊,測試人員易于根據模塊來理解測試框架,進而將SAFIR應用到實際測試作業中。相對于傳統的手動測試,利用SAFIR進行回歸測試提高了70%的測試效率。把SAFIR投入到企業的回歸測試,對于此類大量的重復測試工作具有很高的實用性,并帶來可觀的經濟效益。

參考文獻

[1]楊合生,陳昱 ,張捷.軟件自動化測試:入門、進階與實戰[M].電子工業出版社,2012:40-45.

[2]陳能技.軟件測試技術大全:測試基礎 流行工具 項目實戰(第2版)[M].人民郵電出版社,2011:230-245.

[3]劉曉明.軟件測試及其自動化模型的研究[M].江南大學,2009:90-101.

[4]沈佳宇,喻擎蒼.基于Watir框架的Web自動化測試[J].2012.

[5]王晴.Web自動化測試研究與Watir框架開發[D].武漢理工大學,2011.

作者簡介:許瀚青,男,籍貫:上海,職務:軟件測試工程師,研究方向:軟件自動化測試。

主站蜘蛛池模板: 久久人人妻人人爽人人卡片av| 激情视频综合网| 久久99国产综合精品女同| 亚洲中文久久精品无玛| 人妻丰满熟妇αv无码| 国产成人8x视频一区二区| 国产激情无码一区二区免费| a毛片免费观看| 国产一区二区影院| 18禁黄无遮挡网站| 性网站在线观看| 在线欧美国产| 日韩无码视频播放| 伊人久久综在合线亚洲2019| 亚洲欧美一区在线| 国产色网站| 中文字幕第4页| 日韩精品免费一线在线观看| 中文无码日韩精品| 婷婷亚洲天堂| 成人伊人色一区二区三区| 美女啪啪无遮挡| 青草国产在线视频| 激情六月丁香婷婷四房播| 91精品国产综合久久香蕉922 | 亚洲视频欧美不卡| 日本午夜网站| 在线看免费无码av天堂的| 99久久精品免费看国产电影| 欧美激情成人网| 欧美亚洲第一页| 国产精品分类视频分类一区| 一级毛片无毒不卡直接观看| 国产h视频在线观看视频| 欧美成人手机在线观看网址| 色网在线视频| 91黄视频在线观看| 国产精品自在自线免费观看| 最新国产你懂的在线网址| 国内精品九九久久久精品| 精品久久久久久中文字幕女| 91极品美女高潮叫床在线观看| 国产在线无码av完整版在线观看| 亚洲人成电影在线播放| 伊在人亚洲香蕉精品播放| 中文字幕2区| 毛片国产精品完整版| 久久久噜噜噜久久中文字幕色伊伊 | 欧美日韩精品在线播放| 91高清在线视频| 无码一区二区波多野结衣播放搜索| 精品1区2区3区| 日韩AV手机在线观看蜜芽| 亚洲第一网站男人都懂| 日韩毛片在线视频| 一级毛片无毒不卡直接观看| 亚洲日韩每日更新| 国产99精品久久| 高清欧美性猛交XXXX黑人猛交| 色综合色国产热无码一| 亚洲精品欧美日韩在线| 国产精品免费入口视频| 国产理论精品| 国产成人久久综合777777麻豆 | 99精品在线看| 亚洲AV无码一区二区三区牲色| 香蕉99国内自产自拍视频| 亚洲色中色| 亚洲精品天堂在线观看| 在线视频精品一区| 人人澡人人爽欧美一区| 精品国产aⅴ一区二区三区| 国产欧美在线观看一区| 波多野结衣第一页| 国产精品大白天新婚身材| 久久精品国产免费观看频道| 中文字幕佐山爱一区二区免费| 免费一级大毛片a一观看不卡| 香港一级毛片免费看| 欧美午夜在线观看| 成人午夜免费观看| 欧美高清日韩|