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頁面導航技術
主站蜘蛛池模板: 久久综合婷婷| 黄色免费在线网址| 日本日韩欧美| 久久综合AV免费观看| 久久黄色视频影| 美女无遮挡被啪啪到高潮免费| 国产成人三级| 无码人妻热线精品视频| 日本一本正道综合久久dvd | 免费无码AV片在线观看国产| 国产精品无码久久久久AV| 精品国产Av电影无码久久久| 在线观看国产精品日本不卡网| 人妻丰满熟妇AV无码区| 男女性色大片免费网站| 国产va欧美va在线观看| AⅤ色综合久久天堂AV色综合| 青草视频久久| 69综合网| 亚洲视频a| 欧美高清三区| 91久久精品国产| 狠狠操夜夜爽| 成年女人a毛片免费视频| 91久久偷偷做嫩草影院电| 免费一级毛片不卡在线播放| 国产主播福利在线观看| 国产制服丝袜91在线| 亚洲国产理论片在线播放| 国产网站免费| 亚洲精品人成网线在线| 无码一区二区波多野结衣播放搜索| 成人午夜福利视频| 欧美成人影院亚洲综合图| 亚洲综合精品第一页| 亚洲国产日韩在线成人蜜芽| 亚洲性一区| 五月综合色婷婷| 国产精品一区在线麻豆| 人妻丰满熟妇αv无码| 亚洲第一国产综合| 国产精品第| 99精品欧美一区| 国产极品粉嫩小泬免费看| 国产永久在线观看| 久久9966精品国产免费| 蝴蝶伊人久久中文娱乐网| 伊人久久大香线蕉影院| 国产精品久久久久久久久| 久久青草免费91观看| 亚洲中文字幕在线精品一区| 精品国产免费人成在线观看| 色呦呦手机在线精品| 久久久久久久久18禁秘| 亚洲乱码在线播放| 少妇被粗大的猛烈进出免费视频| 啪啪免费视频一区二区| 思思热精品在线8| 日本欧美精品| 欧美国产日韩在线| 国产乱视频网站| 在线一级毛片| 国产成人精品第一区二区| 亚洲精品视频免费| 国产美女91呻吟求| 国产精品jizz在线观看软件| 99re在线观看视频| 日本午夜在线视频| 亚洲一区二区三区麻豆| 九色在线观看视频| 亚洲国产天堂在线观看| 国产一级毛片yw| 免费一极毛片| 91国内视频在线观看| 国产一二三区视频| 综合色在线| 99久久国产综合精品2020| 在线国产欧美| 久久无码高潮喷水| 国产性生大片免费观看性欧美| 婷婷六月激情综合一区| 色婷婷狠狠干|