你們要的測試練習(xí)網(wǎng)站來了

作者:小博知識(shí)分享

對(duì)于小白而言妈拌,搭建測試環(huán)境首選的有tpshop拥坛、shopxo、iwebshop這類php開發(fā)的電商網(wǎng)站尘分,雖然部署方便猜惋,但是卻跟企業(yè)實(shí)際的架構(gòu)相差太遠(yuǎn),不利于我們更好的了解和學(xué)習(xí)軟件測試培愁。`

那么著摔,對(duì)于自學(xué)軟件測試的朋友來說,是否還在為找不到可以用來練習(xí)接口自動(dòng)化的網(wǎng)站而發(fā)愁呢定续?是否在為找不到部署測試環(huán)境而發(fā)愁呢谍咆?是否不知道現(xiàn)在企業(yè)做出來的網(wǎng)站都是什么樣子呢?下面讓我?guī)Т蠹乙黄饋砹私庖幌掳桑私股。摹察。?/p>

項(xiàng)目選型:找一個(gè)前后端分離的項(xiàng)目,后端用java的springboot框架倡鲸,前端用vue框架供嚎,這個(gè)是目前用的比較多的組合。

廢話不多說,先上一波效果:

后臺(tái)管理頁面效果如下:

后臺(tái)api接口swagger文檔效果:



怎樣找一個(gè)這樣的網(wǎng)站克滴?


可以在gitee/github平臺(tái)上去搜索這樣的網(wǎng)站逼争,我通過搜索關(guān)鍵字springboot vue,在gitee上找到這么個(gè)網(wǎng)站:

地址如下:

https://gitee.com/microapp/linjiashop

項(xiàng)目介紹:

項(xiàng)目是一個(gè)電商網(wǎng)站,包含后端api接口以及swagger接口文檔偿曙,后端管理頁面氮凝,手機(jī)H5頁面以及小程序的代碼,先從后端api接口以及后端管理頁面的部署開始介紹望忆。

ps:要部署該項(xiàng)目罩阵,需要掌握以下內(nèi)容:

1、具備java基礎(chǔ)启摄,了解maven工程的打包構(gòu)建

2稿壁、了解通過npm工具構(gòu)建打包前端代碼

3、了解常見測試環(huán)境部署的一些流程歉备,掌握linux簡單命令傅是,掌握jenkins簡單用法。

找到網(wǎng)站后蕾羊,如何部署喧笔?


在這之前,我找過很多類似的開源項(xiàng)目龟再,要么就是代碼太復(fù)雜书闸,要部署很多中間件,對(duì)于我這個(gè)小白來說有點(diǎn)困難利凑,要么就是代碼寫的有問題浆劲,或者缺失sql腳本,或者沒有寫簡單的部署文檔哀澈,有點(diǎn)難以下手牌借。

下面介紹一下如何去部署選定的項(xiàng)目:

1、下載源代碼到本地

準(zhǔn)備工作:

電腦上安裝好git割按,獲取源代碼到本地膨报,本簡單看一下代碼目錄,找到doc下的相關(guān)文檔适荣,其中doc下面的database.sql為數(shù)據(jù)庫腳本

2现柠、安裝mysql數(shù)據(jù)庫并創(chuàng)建項(xiàng)目的數(shù)據(jù)庫

因?yàn)樽罱K我打算將項(xiàng)目部署到linux虛擬機(jī)里面,因此先在linux里面安裝mysql束凑。這里推薦使用docker的方式安裝mysql:

1晒旅、Docker環(huán)境搭建

2、執(zhí)行命令安裝mysql:

dockerpull mysql:5.7dockerrun -itd --name mysql -p 3306:3306 -e MYSQL_ROOT_PASSWORD=123456 mysql:5.7

通過以上命令汪诉,很快速的就安裝好了mysql,然后用navicat客戶端遠(yuǎn)程連接后废恋,創(chuàng)建一個(gè)數(shù)據(jù)庫linjiashop谈秫,并創(chuàng)建用戶名linjiashop,設(shè)置密碼為linjiashop鱼鼓,并授權(quán)用戶linjiashop對(duì)該數(shù)據(jù)庫的操作權(quán)限拟烫。

3、執(zhí)行數(shù)據(jù)庫建表腳本(也可以不執(zhí)行數(shù)據(jù)庫腳本迄本,代碼中有個(gè)配置可以在本地調(diào)試的時(shí)候自動(dòng)執(zhí)行腳本)

3硕淑、編譯打包后端java代碼

要編譯打包,首先要了解項(xiàng)目的基本代碼結(jié)構(gòu)嘉赎,可以結(jié)合這個(gè)項(xiàng)目置媳,了解一下微服務(wù)架構(gòu)的概念。這里要構(gòu)建的第一個(gè)工程的包是linjiashop-admin-api文件夾下的后端接口代碼公条,該項(xiàng)目不能單獨(dú)打包拇囊,需要依賴于core工程一期構(gòu)建,為了方便靶橱,可以直接在代碼根目錄執(zhí)行命令一次性打包所有java代碼就行:

mvn-U clean package -Dmaven.test.skip=true

ps:用以上命令打包的話寥袭,需要在電腦上安裝好maven,maven的倉庫地址更換為阿里云的倉庫后关霸,打包會(huì)快一些传黄。

下面說一下linjiashop-admin-api工程打包前,代碼中需要修改的位置:

1队寇、修改代碼中的數(shù)據(jù)庫連接地址:

2膘掰、修改resources文件夾下的logback.xml文件中的fileNamePattern的值

3、下載的源代碼默認(rèn)是打包war包英上,可以改成jar包方便部署(不改也可以)

在pom.xml文件中按如下腳本進(jìn)行修改:

<packaging>jar</packaging>

4炭序、執(zhí)行mvn -U clean package -Dmaven.test.skip=true命令啤覆,然后在項(xiàng)目的target目錄中可以找到打出來的jar包苍日。將jar包用java -jar 啟動(dòng)即可,啟動(dòng)的時(shí)候可以加-server.port=8082的參數(shù)指定端口窗声。

4相恃、編譯前端代碼

1、電腦上安裝好nodejs的環(huán)境笨觅,配置環(huán)境變量拦耐,下載nginx,用來部署前端

2见剩、進(jìn)入到linjiashop-admin文件夾下面杀糯,執(zhí)行以下命令即可:

(注意打包前需要改一些配置)

本地調(diào)試的命令:

npm install --registry=https://registry.npm.taobao.orgnpm run dev

本地打包的命令:

npm install --registry=https://registry.npm.taobao.org npm run build:prod

ps: npm install 命令是安裝包的依賴,如果的比較慢的話 苍苞,可以改成如下的命令:

npm install cnpm --registry=https://registry.npm.taobao.orgcnpm installnpm run dev /? npm run build:prod

3固翰、打包前或者本地調(diào)試的時(shí)候狼纬,需要更改一些腳本:

前端代碼目錄下有一個(gè)vue.config.js的文件,里面涉及到localhost地址以及端口的骂际,可以改成后端api接口的ip和端口


如果對(duì)軟件測試疗琉、接口、自動(dòng)化歉铝、性能測試盈简、LR腳本開發(fā)、面試經(jīng)驗(yàn)交流太示。感興趣可以1079636098柠贤,群內(nèi)會(huì)有不定期的發(fā)放免費(fèi)的資料鏈接,這些資料都是從各個(gè)技術(shù)網(wǎng)站搜集类缤、整理出來的种吸,如果你有好的學(xué)習(xí)資料可以私聊發(fā)我米奸,我會(huì)注明出處之后分享給大家丈咐。

更改了上述地址后揽浙,打包部署到服務(wù)器nginx下后十兢,訪問頁面時(shí)详囤,會(huì)發(fā)現(xiàn)頁面請(qǐng)求的接口地址并沒有改成后端api部署的8082端口饰序,而還是通過前端nginx頁面的地址所對(duì)應(yīng)的端口發(fā)送的請(qǐng)求没隘,因此還需更改一個(gè)配置文件烹俗,或者通過nginx的端口轉(zhuǎn)發(fā)功能進(jìn)行配置降允。我對(duì)nginx不太熟恩闻,這里只介紹一下改代碼的方式:

找到src/utils/rquests.js文件,更改截圖中的內(nèi)容:

按照上述步驟操作之后剧董,網(wǎng)站基本上就部署完成了幢尚,頁面一些簡單的功能已經(jīng)可以使用,一些稍微復(fù)雜的功能翅楼,比如圖片上傳尉剩,還需要更改配置,這個(gè)等后面研究出來了再分享給大家毅臊,目前已經(jīng)可以拿部署的網(wǎng)站用來做UI自動(dòng)化和接口自動(dòng)化的練習(xí)了理茎,而且還可以用來練習(xí)功能測試,定位前后端問題管嬉,查看報(bào)錯(cuò)日志等皂林。

如何結(jié)合jenkins實(shí)現(xiàn)持續(xù)部署

測試環(huán)境的部署流程,一般就分為以下幾步:

1蚯撩、構(gòu)建础倍、打包

2、將文件傳到要部署的服務(wù)器

3胎挎、備份

4沟启、停服務(wù)扰楼,替換文件,啟動(dòng)服務(wù)

5美浦、監(jiān)控服務(wù)狀態(tài)弦赖,驗(yàn)證部署是否成功

jar包部署:

主要使用jenkins的Publish Over SSH插件傳文件到服務(wù)器,然后遠(yuǎn)程執(zhí)行shell腳本浦辨。

前端部署:

與jar包部署類似蹬竖,不過前端可以采用構(gòu)建成docker鏡像進(jìn)行部署。

dockerfile 主要內(nèi)容如下:

FROMnginxWORKDIR/appCOPYdist/ /usr/share/nginx/htmlEXPOSE 80RUNecho 'echo init ok!!'

setup.sh 腳本如下:

```
cd/home/jenkins/jenkins_remote_dir/workspace/linjiashop-admin-freestyle-deploy/linjiashop-admindockerstop adminui;dockerrm adminui;dockerbuild -t adminui .;dockerimages;dockerrun -p 8081:80 -d --name adminui adminui ;
```

大家如果在搭建環(huán)境過程中有疑問流酬,或者對(duì)本篇文章中的某些內(nèi)容有疑問币厕,歡迎在屏幕下方留言探討。有人喜歡創(chuàng)造世界芽腾,他們做了開發(fā)者旦装;有的人喜歡開發(fā)者,他們做了測試員摊滔。什么是軟件測試阴绢?軟件測試就是一場本該在用戶面前發(fā)生的災(zāi)難提前在自己面前發(fā)生了,這會(huì)讓他們生出一種救世主的感覺艰躺,拯救了用戶呻袭,也就拯救者這個(gè)軟件,避免了他們被卸載的命運(yùn)腺兴。

微信搜一搜【程序員一凡】關(guān)注這個(gè)文縐縐的程序員左电,關(guān)注后回復(fù)【面試】有我準(zhǔn)備的一線大廠面試資料和簡歷模板,希望大家都能找到心儀的工作页响,學(xué)習(xí)是一條時(shí)而郁郁寡歡篓足,時(shí)而開懷大笑的路,加油闰蚕。如果你通過努力成功進(jìn)入到了心儀的公司栈拖,一定不要懈怠放松,職場成長和新技術(shù)學(xué)習(xí)一樣陪腌,不進(jìn)則退辱魁。如果有幸我們江湖再見烟瞧!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末诗鸭,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子参滴,更是在濱河造成了極大的恐慌强岸,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件砾赔,死亡現(xiàn)場離奇詭異蝌箍,居然都是意外死亡青灼,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評(píng)論 3 399
  • 文/潘曉璐 我一進(jìn)店門妓盲,熙熙樓的掌柜王于貴愁眉苦臉地迎上來杂拨,“玉大人,你說我怎么就攤上這事悯衬〉粒” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵筋粗,是天一觀的道長策橘。 經(jīng)常有香客問我,道長娜亿,這世上最難降的妖魔是什么丽已? 我笑而不...
    開封第一講書人閱讀 59,836評(píng)論 1 298
  • 正文 為了忘掉前任,我火速辦了婚禮买决,結(jié)果婚禮上沛婴,老公的妹妹穿的比我還像新娘。我一直安慰自己督赤,他們只是感情好瘸味,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評(píng)論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著够挂,像睡著了一般旁仿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上孽糖,一...
    開封第一講書人閱讀 52,441評(píng)論 1 310
  • 那天枯冈,我揣著相機(jī)與錄音,去河邊找鬼办悟。 笑死尘奏,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的病蛉。 我是一名探鬼主播炫加,決...
    沈念sama閱讀 40,992評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼铺然!你這毒婦竟也來了俗孝?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 39,899評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤魄健,失蹤者是張志新(化名)和其女友劉穎赋铝,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體沽瘦,經(jīng)...
    沈念sama閱讀 46,457評(píng)論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡革骨,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評(píng)論 3 341
  • 正文 我和宋清朗相戀三年农尖,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片良哲。...
    茶點(diǎn)故事閱讀 40,664評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡盛卡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出筑凫,到底是詐尸還是另有隱情窟扑,我是刑警寧澤,帶...
    沈念sama閱讀 36,346評(píng)論 5 350
  • 正文 年R本政府宣布漏健,位于F島的核電站嚎货,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏蔫浆。R本人自食惡果不足惜殖属,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評(píng)論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望瓦盛。 院中可真熱鬧洗显,春花似錦、人聲如沸原环。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評(píng)論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽嘱吗。三九已至玄组,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間谒麦,已是汗流浹背俄讹。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評(píng)論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留绕德,地道東北人患膛。 一個(gè)月前我還...
    沈念sama閱讀 49,081評(píng)論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像耻蛇,于是被迫代替她去往敵國和親踪蹬。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評(píng)論 2 359