集成壓力測(cè)試與接口測(cè)試的自動(dòng)化測(cè)試管理平臺(tái)推薦

概述

基于renren-fast開(kāi)源框架的瞎嬉,二次開(kāi)發(fā)搭建的性能姐赡、接口測(cè)試平臺(tái)唐片,同時(shí)集成三方工具的啟停操作界赔,便于管理。本項(xiàng)目基于csdn博主smooth00的文章及其開(kāi)源的代碼進(jìn)行二次開(kāi)發(fā),文章鏈接:https://blog.csdn.net/smooth00/article/details/83380879

針對(duì)壓力測(cè)試牵触,使用jmeter制定測(cè)試策略淮悼,支持單節(jié)點(diǎn)及分布式加壓,節(jié)點(diǎn)刪減揽思,相關(guān)性能指標(biāo)實(shí)時(shí)監(jiān)控并輸出袜腥;

針對(duì)接口測(cè)試,支持TestNG對(duì)java語(yǔ)言實(shí)現(xiàn)的接口的自動(dòng)化測(cè)試;對(duì)于熟悉python的伙伴羹令,支持nose測(cè)試框架進(jìn)行接口測(cè)試鲤屡;兩種框架下都能定制測(cè)試報(bào)告進(jìn)行測(cè)試結(jié)果輸出;

內(nèi)核功能模塊

基于Jmeter-Api和Jmeter腳本實(shí)現(xiàn)在線性能壓測(cè)(已有功能)福侈。

基于Nose和TestNg實(shí)現(xiàn)在線接口測(cè)試(新增功能)

覆蓋allure報(bào)告展示及自定義測(cè)試報(bào)告展示(新增功能)

覆蓋三方工具的集成及管理(新增功能)

已經(jīng)支持的功能

友好的代碼結(jié)構(gòu)及注釋酒来,便于閱讀及二次開(kāi)發(fā)

實(shí)現(xiàn)前后端分離,通過(guò)token進(jìn)行數(shù)據(jù)交互肪凛,前端再也不用關(guān)注后端技術(shù)

靈活的權(quán)限控制堰汉,可控制到頁(yè)面或按鈕,滿足絕大部分的權(quán)限需求

頁(yè)面交互使用Vue2.x伟墙,極大的提高了開(kāi)發(fā)效率

完善的代碼生成機(jī)制翘鸭,可在線生成entity、xml戳葵、dao就乓、service、html拱烁、js生蚁、sql代碼,減少70%以上的開(kāi)發(fā)任務(wù)

引入quartz定時(shí)任務(wù)戏自,可動(dòng)態(tài)完成任務(wù)的添加邦投、修改、刪除浦妄、暫停、恢復(fù)及日志查看等功能

引入API模板见芹,根據(jù)token作為登錄令牌剂娄,極大的方便了APP接口開(kāi)發(fā)

引入Hibernate Validator校驗(yàn)框架,輕松實(shí)現(xiàn)后端校驗(yàn)

引入云存儲(chǔ)服務(wù)玄呛,已支持:

七牛云阅懦、阿里云、騰訊云等(暫時(shí)未變更這塊代碼)

引入swagger文檔支持徘铝,方便編寫API接口文檔

引入路由機(jī)制耳胎,刷新頁(yè)面會(huì)停留在當(dāng)前頁(yè)

引入最新版本Jmeter-Api,支持分布式壓測(cè)惕它,測(cè)試報(bào)告生成及在線查看下載怕午。

引入Echarts,支持在線觀測(cè)性能壓測(cè)結(jié)果淹魄。

新增功能

引入mock-runner支持平臺(tái)修改配置文件

引入接口測(cè)試框架支持: 基于Java語(yǔ)言的TestNg測(cè)試框架及基于python語(yǔ)言的nose測(cè)試框架

引入三方工具接入機(jī)制進(jìn)行服務(wù)的啟停及web頁(yè)面跳轉(zhuǎn)郁惜,本質(zhì)是將shell腳本service化,集成的時(shí)候通過(guò)service 服務(wù)名 start/stop

支持mock出來(lái)的接口文檔以pdf形式生成

支持用例的增甲锡、刪兆蕉、改羽戒,支持Allure報(bào)告、自定義報(bào)告的下載虎韵、查看

項(xiàng)目技術(shù)棧

核心框架:Spring Boot 1.5

安全框架:Apache Shiro 1.3

視圖框架:Spring MVC 4.3

持久層框架:MyBatis 3.3

定時(shí)器:Quartz 2.3

數(shù)據(jù)庫(kù)連接池:Druid 1.0

日志管理:SLF4J 1.7易稠、Log4j

頁(yè)面交互:Vue2.x

前端監(jiān)控:ECharts 3.8

壓測(cè)內(nèi)核:Apache JMeter 4.0

腳本調(diào)用內(nèi)核:Apache Commons Exec 1.3

遠(yuǎn)程執(zhí)行命令:Ganymed build210及ssh工具組件

批量上傳組件:bootstrap-fileinput v4.5.2

本地部署

(1) 下載源碼

(2)?創(chuàng)建數(shù)據(jù)庫(kù)renren_fast,數(shù)據(jù)庫(kù)編碼為UTF-8

(3)?執(zhí)行doc/db.sql文件包蓝,初始化數(shù)據(jù)

(4)?修改application.yml驶社,更新server的ip、端口养晋;

(5)?如果引入緩存還需要修改redis的ip及端口信息

(6)?修改application-dev.yml衬吆,更新MySQL的url、賬號(hào)和密碼

(7)?Eclipse绳泉、IDEA運(yùn)行RenrenApplication.java逊抡,則可啟動(dòng)項(xiàng)目

(8)?項(xiàng)目訪問(wèn)路徑:http://localhost:8080/renren-fast? 賬號(hào)密碼:admin/admin? Swagger路徑:http://localhost:8080/renren-fast/swagger/index.html

(9)?簡(jiǎn)單的啟停腳本參見(jiàn):shut_down.sh、start_up.sh

遠(yuǎn)程部署

修改ansible-deploy.yml中的hosts零酪、users冒嫡、部署路徑,運(yùn)行ansible相關(guān)命令即可

docker化

基于application.yml配置的服務(wù)端口四苇,修改docker-compose.yml中的鏡像名孝凌、端口映射,dockerfile中的端口月腋,通過(guò)mvn的dockerfile-maven-plugin插件進(jìn)行鏡像構(gòu)建及發(fā)布蟀架,具體可參見(jiàn)demo:pom.xml.docker文件,并修改其中的下的信息

Jenkins流水線方式部署平臺(tái)于k8s集群

在jenkins的Credentials設(shè)置中配置jenkins-harbor-creds榆骚、jenkins-k8s-config參數(shù)

修改Jenkinsfile中parameters下的相關(guān)參數(shù)信息及k8s-deployment.tpl中相關(guān)信息

提交git片拍,出發(fā)jenkins拉取最新代碼,進(jìn)行流水線部署

備注

源碼地址同樣開(kāi)放于微信圈子“自動(dòng)化測(cè)試”妓肢、公眾號(hào)“蠻懶”捌省;

https://github.com/ct1104/renren-fast/blob/master/README.md

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市碉钠,隨后出現(xiàn)的幾起案子纲缓,更是在濱河造成了極大的恐慌,老刑警劉巖喊废,帶你破解...
    沈念sama閱讀 216,544評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件祝高,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡污筷,警方通過(guò)查閱死者的電腦和手機(jī)褂策,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,430評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人斤寂,你說(shuō)我怎么就攤上這事耿焊。” “怎么了遍搞?”我有些...
    開(kāi)封第一講書人閱讀 162,764評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵罗侯,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我溪猿,道長(zhǎng)钩杰,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書人閱讀 58,193評(píng)論 1 292
  • 正文 為了忘掉前任诊县,我火速辦了婚禮讲弄,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘依痊。我一直安慰自己避除,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,216評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布胸嘁。 她就那樣靜靜地躺著瓶摆,像睡著了一般。 火紅的嫁衣襯著肌膚如雪性宏。 梳的紋絲不亂的頭發(fā)上群井,一...
    開(kāi)封第一講書人閱讀 51,182評(píng)論 1 299
  • 那天,我揣著相機(jī)與錄音毫胜,去河邊找鬼书斜。 笑死,一個(gè)胖子當(dāng)著我的面吹牛酵使,可吹牛的內(nèi)容都是我干的荐吉。 我是一名探鬼主播,決...
    沈念sama閱讀 40,063評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼凝化,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼稍坯!你這毒婦竟也來(lái)了酬荞?” 一聲冷哼從身側(cè)響起搓劫,我...
    開(kāi)封第一講書人閱讀 38,917評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎混巧,沒(méi)想到半個(gè)月后枪向,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,329評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡咧党,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,543評(píng)論 2 332
  • 正文 我和宋清朗相戀三年秘蛔,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,722評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡深员,死狀恐怖负蠕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情倦畅,我是刑警寧澤遮糖,帶...
    沈念sama閱讀 35,425評(píng)論 5 343
  • 正文 年R本政府宣布,位于F島的核電站叠赐,受9級(jí)特大地震影響欲账,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜芭概,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,019評(píng)論 3 326
  • 文/蒙蒙 一赛不、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧罢洲,春花似錦踢故、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,671評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至鸽粉,卻和暖如春斜脂,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背触机。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,825評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工帚戳, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人儡首。 一個(gè)月前我還...
    沈念sama閱讀 47,729評(píng)論 2 368
  • 正文 我出身青樓片任,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親蔬胯。 傳聞我的和親對(duì)象是個(gè)殘疾皇子对供,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,614評(píng)論 2 353

推薦閱讀更多精彩內(nèi)容