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

基于selenium和Jenkins的持續集成自動化測試框架的設計和實現

2016-05-30 06:41:40馮小梅孫衛寧曾蘭
企業科技與發展 2016年1期

馮小梅 孫衛寧 曾蘭

【摘 要】為了及早發現和解決系統出現的問題,保證系統的質量,通過持續集成和自動化測試相結合的方式,設計并實現了持續集成自動化測試方案,采用持續集成工具Jenkins搭建持續集成平臺,使用maven實現自動化構建和selenium實現測試功能,能自動化完成編譯、測試、部署和發布過程,無需人工干預,做到集成和測試過程完全自動化,從而提高開發和測試效率。

【關鍵詞】持續集成;自動化測試;selenium;Jenkins;maven

【中圖分類號】TP311.52 【文獻標識碼】A 【文章編號】1674-0688(2016)01-0043-04

由于很多bug在項目的早期就存在,到最后集成的時候才發現問題,然后找原因解決bug,會耗費大量的時間與精力。通過maven和Jenkins實現系統持續集成,每次的集成都是通過自動化的構建來驗證,包括自動編譯、測試和部署,從而盡快地發現集成錯誤,讓團隊能夠更快地開發內聚的軟件[1]。在持續集成里不再只是編譯和連接,創建還應該包括自動化測試,自測試的代碼是開發人員提交源碼的時候同時提交的,將所有的這些自測試代碼整合到一起形成測試集,在所有的最新的源碼通過編譯和連接之后還必須通過這個測試集的測試才算是成功的創建。而selenium是一套自動化測試框架,可以用于單元測試、回歸測試、冒煙測試、集成測試、驗收測試等[3],可以完成持續集成中的測試功能。文獻[2]采用持續集成的方式,使用Jenkins對相關的自動化集成部署進行了嘗試。文獻[3]通過Selenium的基本組件及實現測試原理,實現在B/S架構應用系統上進行自動化測試。文獻[4]通過selenium的平臺無關行和易操作性,研究能夠直接在瀏覽器中運行,多語言多平臺支持的低耦合測試框架,該框架主要針對如何降低腳本之間的耦合性,如何靈活地組合不同的腳本,以及如何快速地定位腳本的錯誤的問題來適應如今web應用開發中需求頻繁變動的問題。本文通過持續集成和自動化測試相結合的方式,設計持續集成自動化測試方案,能自動化完成編譯、測試、部署和發布過程,做到集成和測試過程完全自動化。

1 相關知識介紹

Jenkins是java開發的持續集成工具,能快速且高頻率地自動構建項目的源代碼,每次通過自動化的編譯、測試、審查、打包和部署,并創建集成報告發送給相關人員。Jenkins與主流的構建工具、版本控制系統及自動化測試框架都能進行很好的支持,而且提供了靈活的插件擴展框架。

Maven是一個項目管理和構建自動化工具,它的服務之一是完成構建,從代碼清理、編譯、測試、打包和部署。Maven還是依賴管理工具,它提供了中央倉庫,幫我們下載、組織和管理組件,通過一組坐標maven就能夠找到任何一個Java類庫。Maven抽象了構建生命周期,實際需要插件來完成任務,這一過程是通過將插件的目標(goal)綁定到生命周期的具體階段(phase)來完成的。如:將maven-compiler-plugin插件的compile目標綁定到default生命周期的compile階段,完成項目的源代碼編譯。絕大部分的構建任務提供了已實現的插件,不再需要定義過程,例如測試,只需要遵循maven的約定編寫好測試用例,運行構建時測試便會自動運行。default生命周期的內置插件綁定關系及具體任務如圖1所示。

Selenium是一套基于WEB應用的測試工具,支持多種瀏覽器,通過它來執行模仿用戶在網頁上的操作的測試腳本,Selenium 包含Selenium IDE、Selenium WebDriver、Selenium Remote Control(RC)和Selenium Grid等工具,可以用于單元測試、回歸測試、冒煙測試、集成測試、驗收測試等。

2 框架設計

持續集成自動化測試系統的目的是通過啟用和觸發,將提交代碼、構建、測試、發送報告整個過程自動化完成,其框架如圖2所示。

持續集成系統大致分為以下幾個部分。

源代碼:源代碼是個maven project,使用maven實現自動化構建和對構件進行管理,配置POM文件就能自動從maven中央倉庫中下載我們所需要的selenium、junit等jar包,并自動下載selenium、junit所依賴于其他的jar包。

版本庫:由版本控制系統SVN進行管理,負責代碼的管理和版本的控制,能夠自動檢測代碼的更新以及提取代碼提交者的信息。

持續集成工具Jenkins,完成持續構建系統,Jenkins可以監視代碼庫,探測到代碼更新時自動地運行構建和測試,并提供構建報告給開發者。

3 實現

在開發平臺Eclipse中配置SVN和maven插件,在Eclipse中建maven項目,項目代碼結構如圖3所示。

scr/main/java存放主代碼,scr/test/java存放測試類,pom.xml文件是整個項目的核心,定義了項目的基本信息,描述項目如何構建和聲明項目依賴等,在pom.xml中加入junit、selenium等需要的依賴,maven會自動訪問中央倉庫下載junit和selenium相關的jar包(如圖4所示)。

maven生命周期test階段是與maven-surefire-plugin的test目標綁定,我們設置maven-surefire-plugin的test目標自動執行測試源代碼路徑(scr/

test/java)下所有符合一組命名模式的測試類,這組模式為*Test.java,只要將測試類按上述模式命名,maven就能自動運行測試代碼,pom.xml配置如圖5所示。

使用selenium WebDriver提供的接口編寫測試代碼,實現打開瀏覽器,控制瀏覽器頁面上的鍵盤輸入和鼠標點擊等操作,再捕獲操作結果元素,例如某些屬性作為返回結果,通過判斷返回結果與預期是否一致來判定是否運行正確,部分代碼如圖6所示。

之后是在Jenkins中構建,在搭建好的Jenkins平臺中配置svn、maven和tomcat插件,例如配置SVN庫的用戶名、密碼和maven的MAVEN_HOME值等,之后新建一個maven類型的job(如圖7所示)。

構建結果如圖8所示。

也可以配置job,讓job每天中的某時刻自動構建,同時將構建好的web.war發布到tomcat中,自動化完成一系列步驟,從svn庫中抓取代碼,編譯、測試到生成報告,再到打包和部署。

4 結語

本文設計和實現了持續集成自動化測試方案,采用持續集成工具Jenkins搭建持續集成平臺,使用maven實現自動化構建和selenium實現測試功能,能自動化完成編譯、測試、部署和發布過程,無需人工干預,做到集成和測試過程完全自動化,從而提高開發和測試效率。

參 考 文 獻

[1]段清蛇,李筠.基于Jenkins的持續集成測試環境插件開發[J].信息技術,2013(10):114-116,120.

[2]高珺.以持續集成方式進行系統自動化部署[J].華東師范大學學報(自然科學版),2015(z1):373-377.

[3]吳伶琳.基于Selenium的軟件自動化測試的研究與應用[J].計算機與現代化,2013(2):65-68.

[4]邊耐政,張琳.一種基于Selenium的Web自動化測試低耦合框架[J].計算機應用與軟件,2014,31(8):13-16,37.

[責任編輯:鐘聲賢]

主站蜘蛛池模板: 国产小视频a在线观看| 国产一区成人| 黄色网页在线观看| 欧美日韩国产在线观看一区二区三区 | 怡红院美国分院一区二区| 国产精品尤物铁牛tv| 欧美高清日韩| 黑人巨大精品欧美一区二区区| 91在线无码精品秘九色APP| 欧美色视频日本| 在线观看无码av免费不卡网站| 91精品情国产情侣高潮对白蜜| 青青草原国产av福利网站| 久草热视频在线| 中美日韩在线网免费毛片视频| 国产aaaaa一级毛片| 最新国产你懂的在线网址| 久久99国产综合精品女同| 久久久精品无码一区二区三区| 久久夜色撩人精品国产| 妇女自拍偷自拍亚洲精品| 亚洲人成影视在线观看| 老司国产精品视频91| 欧美在线一二区| 992tv国产人成在线观看| 成人永久免费A∨一级在线播放| 五月天福利视频| 四虎影视永久在线精品| 日韩第八页| 亚洲人成日本在线观看| 国产白浆在线观看| 日韩天堂在线观看| 国产综合网站| 直接黄91麻豆网站| 国产成人综合亚洲欧美在| 亚洲无码高清一区二区| 国产在线精品99一区不卡| 国产微拍一区| 91欧美在线| 国产精品久久久久无码网站| 亚洲精品中文字幕无乱码| 日韩在线欧美在线| 国产制服丝袜91在线| 亚洲人成网站在线播放2019| 又爽又黄又无遮挡网站| 美女内射视频WWW网站午夜| 黄色一级视频欧美| 久久精品欧美一区二区| 999精品视频在线| 国产超碰一区二区三区| 丝袜美女被出水视频一区| 久久人妻系列无码一区| 日本三区视频| 美女国产在线| 久久综合九色综合97婷婷| 人妻无码一区二区视频| 久久美女精品国产精品亚洲| 亚洲国产清纯| 亚洲精品黄| 亚洲国产日韩视频观看| 中文字幕有乳无码| 青青青伊人色综合久久| 国产丰满大乳无码免费播放| 一本二本三本不卡无码| 97免费在线观看视频| 香蕉精品在线| 亚洲伊人电影| 99久视频| 久久天天躁狠狠躁夜夜2020一| 国产AV毛片| 欧美激情,国产精品| 亚洲精品人成网线在线| 91无码国产视频| 99久久精品久久久久久婷婷| 8090午夜无码专区| 91精品国产91欠久久久久| 91福利在线观看视频| 五月天婷婷网亚洲综合在线| 国产欧美又粗又猛又爽老| 色香蕉影院| 国产99精品久久| 激情综合婷婷丁香五月尤物 |