你們要的測(cè)試練習(xí)網(wǎng)站來(lái)了

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

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

那么,對(duì)于自學(xué)軟件測(cè)試的朋友來(lái)說(shuō),是否還在為找不到可以用來(lái)練習(xí)接口自動(dòng)化的網(wǎng)站而發(fā)愁呢?是否在為找不到部署測(cè)試環(huán)境而發(fā)愁呢?是否不知道現(xiàn)在企業(yè)做出來(lái)的網(wǎng)站都是什么樣子呢?下面讓我?guī)Т蠹乙黄饋?lái)了解一下吧?。?!

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

廢話不多說(shuō),先上一波效果:

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

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



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


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

地址如下:

https://gitee.com/microapp/linjiashop

項(xiàng)目介紹:

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

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

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

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

3、了解常見(jiàn)測(cè)試環(huán)境部署的一些流程,掌握l(shuí)inux簡(jiǎn)單命令,掌握jenkins簡(jiǎn)單用法。

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


在這之前,我找過(guò)很多類似的開(kāi)源項(xiàng)目,要么就是代碼太復(fù)雜,要部署很多中間件,對(duì)于我這個(gè)小白來(lái)說(shuō)有點(diǎn)困難,要么就是代碼寫(xiě)的有問(wèn)題,或者缺失sql腳本,或者沒(méi)有寫(xiě)簡(jiǎn)單的部署文檔,有點(diǎn)難以下手。

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

1、下載源代碼到本地

準(zhǔn)備工作:

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

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

因?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

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

3、執(zhí)行數(shù)據(jù)庫(kù)建表腳本(也可以不執(zhí)行數(shù)據(jù)庫(kù)腳本,代碼中有個(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的倉(cāng)庫(kù)地址更換為阿里云的倉(cāng)庫(kù)后,打包會(huì)快一些。

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

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

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目錄中可以找到打出來(lái)的jar包。將jar包用java -jar 啟動(dòng)即可,啟動(dòng)的時(shí)候可以加-server.port=8082的參數(shù)指定端口。

4、編譯前端代碼

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

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ì)軟件測(cè)試、接口、自動(dòng)化、性能測(cè)試、LR腳本開(kāi)發(fā)、面試經(jīng)驗(yàn)交流。感興趣可以1079636098,群內(nèi)會(huì)有不定期的發(fā)放免費(fèi)的資料鏈接,這些資料都是從各個(gè)技術(shù)網(wǎng)站搜集、整理出來(lái)的,如果你有好的學(xué)習(xí)資料可以私聊發(fā)我,我會(huì)注明出處之后分享給大家。

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

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

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

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

測(cè)試環(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包部署類似,不過(guò)前端可以采用構(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)境過(guò)程中有疑問(wèn),或者對(duì)本篇文章中的某些內(nèi)容有疑問(wèn),歡迎在屏幕下方留言探討。有人喜歡創(chuàng)造世界,他們做了開(kāi)發(fā)者;有的人喜歡開(kāi)發(fā)者,他們做了測(cè)試員。什么是軟件測(cè)試?軟件測(cè)試就是一場(chǎng)本該在用戶面前發(fā)生的災(zāi)難提前在自己面前發(fā)生了,這會(huì)讓他們生出一種救世主的感覺(jué),拯救了用戶,也就拯救者這個(gè)軟件,避免了他們被卸載的命運(yùn)。

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

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容