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.

[責任編輯:鐘聲賢]

主站蜘蛛池模板: 国产成人精品一区二区免费看京| 91麻豆精品国产高清在线| 狼友视频国产精品首页| 国产av无码日韩av无码网站| 国产精品亚洲а∨天堂免下载| 第一区免费在线观看| 丰满少妇αⅴ无码区| 69综合网| 亚洲欧美日韩成人在线| 国产免费黄| 久久午夜夜伦鲁鲁片无码免费| 欧美综合中文字幕久久| 在线毛片网站| 黄色网址免费在线| 色婷婷天天综合在线| 欧美激情,国产精品| 国产亚洲视频中文字幕视频| 高清不卡一区二区三区香蕉| 亚洲日本在线免费观看| 欧美日韩亚洲国产主播第一区| 日韩欧美91| 久久中文字幕不卡一二区| 久操中文在线| 国产色婷婷| 国产美女在线免费观看| 最新加勒比隔壁人妻| 婷婷成人综合| 国产成人精品高清不卡在线| 亚洲视频免| 美女无遮挡免费网站| 好久久免费视频高清| 99偷拍视频精品一区二区| 欧美成人二区| 亚洲欧美一区在线| 色综合久久无码网| 国产精品香蕉在线观看不卡| 亚洲中文字幕久久精品无码一区| 精品国产99久久| 亚洲国产成人久久77| 69免费在线视频| 欧美亚洲一区二区三区导航| 69免费在线视频| 蜜臀av性久久久久蜜臀aⅴ麻豆| 久久 午夜福利 张柏芝| 亚洲va精品中文字幕| 国产成人1024精品下载| 无码乱人伦一区二区亚洲一| 又爽又大又光又色的午夜视频| 伊伊人成亚洲综合人网7777| 欧美精品高清| 欧美成人亚洲综合精品欧美激情| 亚洲综合网在线观看| 青青操视频免费观看| 成年人国产网站| 成人国产精品2021| 欧美色99| 亚洲AV无码乱码在线观看裸奔 | 亚洲水蜜桃久久综合网站 | 在线视频精品一区| 国产一级毛片yw| 久久99久久无码毛片一区二区| 一个色综合久久| 91久久精品国产| 日韩国产一区二区三区无码| 婷婷在线网站| 亚洲AV电影不卡在线观看| 久久免费观看视频| 亚洲色无码专线精品观看| 国产香蕉97碰碰视频VA碰碰看| 亚洲va欧美ⅴa国产va影院| 九九热精品视频在线| 国产精品免费电影| 十八禁美女裸体网站| 亚洲精品无码不卡在线播放| 国产激情国语对白普通话| 原味小视频在线www国产| 色综合激情网| 91在线播放免费不卡无毒| 国产一级一级毛片永久| 99视频全部免费| 亚洲天堂网在线观看视频| 亚洲国产在一区二区三区|