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

基于Geb的Web自動化測試的原理與實踐

2016-10-27 09:09:34胡荊陵陳建明
網絡安全與數據管理 2016年17期
關鍵詞:頁面

胡荊陵,孫 涌,陳建明

(蘇州大學 計算機科學與技術學院,江蘇 蘇州 215006)

?

基于Geb的Web自動化測試的原理與實踐

胡荊陵,孫涌,陳建明

(蘇州大學 計算機科學與技術學院,江蘇 蘇州 215006)

隨著互聯網技術在全球范圍內的迅速發展,各種 Web 應用程序已成為系統軟件開發的主流,對應的自動化測試理論和工具日趨重要。基于開源的自動化測試工具 Geb,介紹了它的大致原理,給出了一個簡單可行的實踐步驟。通過準備測試用例,編輯測試腳本,執行測試腳本的步驟,Geb 可調用各子模塊,根據腳本的要求,模仿真正的人手動操作瀏覽器、并得到測試結果。Geb 可以跨瀏覽器,跨平臺運行,進行本地或遠程的測試,值得在真實開發場景中推廣使用。

自動化測試;測試腳本;Geb

引用格式:胡荊陵,孫涌,陳建明. 基于Geb的Web自動化測試的原理與實踐[J].微型機與應用,2016,35(17):23-25.

0 引言

隨著我國經濟的飛速發展,軟件行業發展迅速。基于互聯網的 Web 應用程序軟件以易開發、易使用、易擴展和易維護等優點被廣泛使用。而 Web 應用程序的測試往往還是由測試人員手工進行,測試成本高,效率低。并且由于軟件版本的迭代和更新,產生大量回歸測試的工作量。因此對 Web 自動化測試的可行性和效率提出了更高的要求。

本文介紹的 Geb 開源自動化測試框架,對 WebDriver 進行封裝,可以做到跨瀏覽器測試,利于 Web 應用程序在不同瀏覽器品牌和版本下的兼容性測試;使用 Groovy 語言開發測試腳本,使代碼相對精簡,在提高開發效率的同時,Groovy 運行于 Java 虛擬機中,因此也可以輕松地實現跨平臺運行,極大地擴展了 Web 自動化測試的運行環境。

1 測試原理

Geb 匯集 WebDriver 的力量、優雅的 jQuery 內容選擇、頁面對象模型的魯棒性和 Groovy 語言的表現力,支持 Spock、JUnit、TestNG 等知名測試框架的集成。Geb 總體框架圖如圖1所示。

圖1 Geb 框架圖

所謂自動化測試,其原理很簡單,就是最大程度地模擬人工對頁面進行的各種點擊和輸入操作。WebDriver 用于調用瀏覽器驅動程序,來模擬用戶的各種輸入和操作,比如:在某個文本框中輸入預設的字符串值,或者是點擊當前頁面上的某個指定的按鈕,是 Web 自動化測試的主要實現方式和核心模塊[1];jQuery選擇器的作用是根據CSS的ID標識符定位 Web 頁面上的唯一 HTML 標簽元素,或根據 CSS class 樣式來定位 Web 頁面上的一個或多個 HTML 標簽元素,提供了開發者最熟悉的獲取頁面 HTML 標簽的方式[2];頁面對象模型的作用是將 jQuery 選擇器獲得的各種 HTML 標簽元素映射抽象為 Geb 能理解的各種對象,為面向對象編碼方式奠定基礎,并為后面的一系列抽象做支撐,最大程度地降低測試腳本的冗余度;測試庫的作用是提供對 Spock、JUnit、TestNG 等知名測試框架的集成支持,測試者可以根據使用習慣,選擇熟悉的測試方法;Groovy 腳本的作用是根據測試用例編寫所有的測試腳本,因此占據工作量的主要部分。

2 Web應用程序

為說明問題,需要有一個被測試的對象,也就是前面提到的Web應用程序。由于只是對 Geb 做一個初步了解,無需太復雜的場景,本文以一個簡單實體類的新增、查詢、更新和刪除 Web 應用為例,來檢驗 Geb 自動化測試的效果。

2.1數據庫設計

準備一個班級實體類,數據表設計如表1所示。

表1 班級表

2.2實現功能

在這個Web 應用程序中,已提供以下功能:查看班級列表、新增班級、刪除班級、查看班級信息。這些功能都是后面需要進行測試的。

具體實現過程和細節已省略,實現后通過瀏覽器打開并訪問即可。需要補充的是,由于 Geb 封裝的 WebDriver 使用 FireFox、Chrome 瀏覽器,實踐時請留意安裝。圖2給出了做好的班級列表頁面。

圖2 班級列表頁面

3 測試腳本

在準備了 Web 應用程序后,接著就需要準備測試用例和測試腳本。

3.1測試用例

測試用例通常與功能用例成正比關系,本文準備以下5個測試用例,詳見表2。

3.2編輯腳本

測試人員需要根據已制定的測試用例,編寫測試腳本,再由程序自動化測試。由于篇幅有限,本文僅提供其中一個測試用例對應的腳本,代碼如下所示。

表2 測試用例表

class Sit01ClassListToAdd extends GebReportingSpec{

def "測試用例01-班級列表到新增班級"() {

given: "班級列表頁面"

to ClassListPage

when: "點擊新增按鈕"

classAddBtn.click()

then: "新增班級頁面"

at ClassAddPage

}

}

測試腳本是使用 Groovy 語言編寫的,再結合Spock測試庫的使用。其具有以下特點:Groovy 是面向對象編程語言,相對 Java 代碼更加精簡,更加靈活。在同樣熟悉的情況下,使用 Groovy 可以顯著提高編碼效率;Spock 是行為驅動開發的典型代表,得益于敏捷開發提供的新理念,代碼風格屬于自然語言,可讀性極強,可以簡化設計人員與測試人員之間的交流成本[3]。

筆者已將全部的測試用例示例代碼上傳至因特網,讀者如有興趣了解更多,可以通過網絡下載和查看,地址是:http://pan.baidu.com/s/1slKMe9v,期間如遇任何疑問,也可以再做進一步交流。

4 測試方式和結果

在執行之前,確保Web 應用程序已啟動,并可通過瀏覽器訪問相應的頁面。

本文使用的 PC 配置如下:操作系統 Windows 7,處理器 i3 4170 3.7 GHz,內存4 GB DDR3 1 600 MHz,硬盤160 GB,主板P8B75。這個配置是非常普通的,大多數軟件公司都可以輕松采購和配置,也就是說大范圍推廣 Web 自動化測試的硬件成本不高。

測試方式采用的是黑盒測試,分別進行3次手動測試和3次自動測試,對比結果如表3所示。

表3 測試結果對比表

可看到,自動測試可以縮短約 50% 的測試時間,并且無需人為干預。這一特性對于 Web 應用程序的回歸測試的貢獻尤其重要,測試腳本可以一次開發多次運行。

5 結論

Geb 為 Web 應用程序的自動化測試提供了一種切實可行的方案,實踐結果表明,可以極大節約測試成本。也可用于 Web 應用程序的通用自動化處理,有著非常廣闊的應用場景。

目前,Geb版本為0.13.1,還在不斷發展中,期待后續版本發布后,能為各方面帶來提升。

[1] CHANDRAPRABHA C, KUMAR A, SSXENA S. Data driven testing framework using selenium WebDriver [J]. International Journal of Computer Applications, 2015, 118(18):18-23.

[2] 王晶, 溫向彬. 利用jQuery操作HTML元素 [J]. 農業網絡信息, 2008(4):98-99.

[3] SOEKEN M, WILLE R, DRECHSLER R. Assisted behavior driven development using natural language processing[C]. International Conference on Objects, Models, Components, Patterns. Springer-Verlag, 2012:269-287.

Principle and practice of Web automated testing based on Geb

Hu Jingling, Sun Yong, Chen Jianming

(School of Computer Science &Technology, Soochow University, Suzhou 215006, China)

With the rapid development of Internet technology in the global scale, all kinds of Web applications has become the mainstream of software development, the corresponding theories and tools of automated testing have become increasingly important. Geb is an open source browser automation tool. This paper introduces the general principle of Geb, and givs a simple and feasible practical steps. By preparing the test cases, programing the test script, executing the scripts, Geb can directly call its sub-module. According to the requirement of the testing specification, imitation of human manual operation, and the test results are obtained. Geb is a cross-browser, cross-platform automation tool which supports also local and remote mode, is worth used widely in the real development scenarios.

automated testing; test script; Geb

TP31

ADOI: 10.19358/j.issn.1674- 7720.2016.17.007

2016-05-14)

胡荊陵(1981-),男,碩士研究生,主要研究方向:軟件工程、人工智能。

孫涌(1958-),男,博士,副教授,研究生導師,主要研究方向:科學計算可視化、智能信息、軟件工程。

陳建明(1960-),男,碩士,副教授,主要研究方向:軟件工程、智能信息處理、嵌入式系統的開發與應用。

猜你喜歡
頁面
微信群聊總是找不到,打開這個開關就好了
大狗熊在睡覺
刷新生活的頁面
保健醫苑(2022年1期)2022-08-30 08:39:14
在本機中輕松完成常見PDF操作
電腦愛好者(2022年3期)2022-05-30 10:48:04
移動頁面設計:為老人做設計
工業設計(2016年1期)2016-05-04 03:58:09
Web安全問答(3)
通信技術(2012年4期)2012-02-15 07:10:35
同一Word文檔 縱橫頁面并存
網站結構在SEO中的研究與應用
幾種頁面置換算法的基本原理及實現方法
淺析ASP.NET頁面導航技術
主站蜘蛛池模板: 91成人在线免费观看| 国产视频一二三区| 久久久受www免费人成| 国产欧美日韩视频怡春院| 97狠狠操| 欧美在线伊人| 亚洲精品在线观看91| 国产一区二区三区免费观看| 亚洲人成网站色7799在线播放| 欧美精品xx| 五月天福利视频| 亚洲成A人V欧美综合| 中文字幕资源站| 五月婷婷伊人网| 成人国产三级在线播放| 亚洲丝袜第一页| 91在线无码精品秘九色APP | 午夜国产精品视频| 天堂va亚洲va欧美va国产| 亚洲国产天堂久久综合| 日本黄色a视频| 亚洲综合18p| 精品国产免费观看| 亚洲无码A视频在线| 久久77777| 国产日韩欧美视频| 久久情精品国产品免费| 国产原创自拍不卡第一页| 伊人久久大香线蕉影院| 亚洲一级毛片免费观看| 国产在线97| 久久美女精品| 亚洲欧美一区在线| 久久综合伊人 六十路| 久久国产精品电影| 少妇被粗大的猛烈进出免费视频| 一区二区三区在线不卡免费| 亚洲第一天堂无码专区| 国产无码精品在线播放| 91国内在线观看| 91免费精品国偷自产在线在线| 无码久看视频| 久久不卡国产精品无码| 99re在线观看视频| 国产波多野结衣中文在线播放 | 精品视频福利| 亚洲天堂网2014| 中国特黄美女一级视频| 久久久久无码精品国产免费| 午夜电影在线观看国产1区| 精品无码专区亚洲| 色哟哟国产精品| 亚洲欧洲日韩久久狠狠爱| 色首页AV在线| 久久美女精品| 夜夜操天天摸| 久久午夜夜伦鲁鲁片无码免费| 精品国产免费第一区二区三区日韩| 欧美在线一二区| 国产亚洲欧美在线专区| 国产精品妖精视频| 91网址在线播放| 伊人成人在线| 狠狠色综合网| 欧美日本在线播放| 欧美性久久久久| 国产91蝌蚪窝| 欧美69视频在线| 日韩成人免费网站| 日本亚洲欧美在线| 日本久久久久久免费网络| 强奷白丝美女在线观看| 欧美日韩精品一区二区在线线| 欧美午夜久久| 国产婬乱a一级毛片多女| 无码久看视频| 亚洲无码高清视频在线观看| 亚洲一区二区三区麻豆| 中国黄色一级视频| 国产97色在线| 国产欧美在线观看精品一区污| 九九九国产|