日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

从零搭建自动化测试平台

發(fā)布時間:2023/12/16 编程问答 59 豆豆
生活随笔 收集整理的這篇文章主要介紹了 从零搭建自动化测试平台 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

概述

LuckyFrame LuckyFrame官網(wǎng)

這里我選的是一個 開源自動化測試平臺?LuckyFrame,感興趣小伙伴可以去官網(wǎng)深挖。

平臺特點:

  • 分布式測試:使用Web-Client的方式,Web端負(fù)責(zé)基本信息管理展示,Client負(fù)責(zé)用例執(zhí)行,任意無限擴展客戶端。
  • 專業(yè)用例管理:自動化用例的專業(yè)管理方式,讓您編寫自動化用例更簡單,直觀。
  • 質(zhì)量管理:Web端不僅僅有用來管理自動化相關(guān)的模塊,更可以做一些簡單的質(zhì)量數(shù)據(jù)收集分析以及數(shù)據(jù)的多圖表展示。
  • 多線程執(zhí)行用例:客戶端執(zhí)行用例可以指定線程數(shù)量,用例運行更快速。
  • 多語言驅(qū)動:支持JAVA以及Python語言編寫測試驅(qū)動,自動化測試手段更加靈活多變。
  • 定時任務(wù)調(diào)度:支持自定義配置調(diào)度任務(wù),包括指定線程數(shù),指定執(zhí)行客戶端,遠(yuǎn)程執(zhí)行shell重啟tomcat,對jenkins中的項目進行構(gòu)建等。
  • 測試過程監(jiān)控:客戶端運行用例采用命令行的方式,在客戶端可以實時查看過程。Web端可以通過任務(wù)查詢查看測試進度。
  • 日志定位:客戶端LOG4J+數(shù)據(jù)庫記錄測試過程日志,2種方式都可以通過Web端實時查看定位問題。
  • 接口+Web UI+移動端UI多緯度自動化:支持接口+Web UI+移動端UI自動化,Web UI自動化采用WebDriver3.0封裝,移動端UI自動化采用APPIUM封裝,純關(guān)鍵字驅(qū)動,0編碼。
  • HTTP+Socket接口免編碼:完全封裝HTTP以及Socket接口,協(xié)議模板+純關(guān)鍵字驅(qū)動,免編碼,初級測試人員的福音,與其他類似開源工具相比優(yōu)勢明顯
  • 在線調(diào)試用例:用例步驟管理界面直接調(diào)試自動化用例,避免使用開發(fā)工具調(diào)試帶來的麻煩,省心、省力、省腦子,但是不能不要腦子。
  • Bootstrap 小清新風(fēng)格界面:整套Web系統(tǒng)基于Bootstrap風(fēng)格,以及多種其下的插件,構(gòu)建清爽界面。

近期媳婦想從功能測試進階測試開發(fā),本著替老婆排憂解難的原則,我決定先下水探探路。話不多說開整:

環(huán)境

這里我準(zhǔn)備了一臺阿里云 ECS ,用于搭建平臺。

  • 型號 :ecs.t5

  • 系統(tǒng) :Ubuntu 18.04 64位

  • CPU :2?核

  • 內(nèi)存 :8 GB

  • 磁盤 :40 GB ESSD 云盤,能夠提供 2021 IOPS 。

JDK、MySQL、Nginx我們選擇OneinStack一鍵安裝?OneinStack官網(wǎng)

?我們把想要安裝的插件選上,復(fù)制安裝命令

??

命令輸入靜待ing.......

???

安裝完畢耗時8分鐘

?打開瀏覽器輸出服務(wù)器IP后OneinStack首頁出現(xiàn),🎉恭喜你安裝成功!

數(shù)據(jù)庫

MySQL有了那么下面我們先創(chuàng)建平臺數(shù)據(jù)庫

首先先切OneinStack目錄,這里我的路徑是【cd /oneinstack】有的可能是【cd /root/oneinstack】

進入OneinStack目錄后,先查看數(shù)據(jù)庫默認(rèn)root密碼【grep dbrootpwd options.conf】

OK 密碼有了我們繼續(xù),登錄mysql?【mysql -u root -p】輸入密碼回車進入mysql

下面重點來了:

我們先創(chuàng)建一個新用戶

mysql > drop user if exists 'luckyframe'@'%';

創(chuàng)建數(shù)據(jù)庫

mysql > create database luckyframe default character set utf8mb4 collate utf8mb4_unicode_ci;

切換用戶

mysql > use luckyframe;

添加用戶名密碼

luckyframe > create user 'luckyframe'@'%' identified by 'luckyframe123456';

賦予用戶權(quán)限

luckyframe > grant all privileges on luckyframe.* to 'luckyframe'@'%';

刷新

luckyframe > flush privileges;

結(jié)束測試一下

連接成功!數(shù)據(jù)庫篇結(jié)束!!!

部署

數(shù)據(jù)庫準(zhǔn)備完,接下來就是修改配置、打包、部署。

idea打包

用過idea的小伙伴,應(yīng)該知道idea用maven打包很簡單。不過沒用的小伙伴也不用著急下面有直接服務(wù)器打包的方式。?

?首先download代碼,這里用過idea的小伙伴都知道,就不多講了

git:https://gitee.com/seagull1985/LuckyFrameWeb.git

第一步當(dāng)然先把數(shù)據(jù)庫的配置修改了?

因為服務(wù)器80端口一般都會被占用,這里我們把端口改成8888

?ps:重點!!!這里我遇到了一個坑

LuckyFrameWebLuckyFrameWeb是Flyway來管理數(shù)據(jù)庫版本,但是Flyway的5.2.2版本有時候會出現(xiàn)很多奇怪的問題,官方現(xiàn)在是引用5.3,因此我們需要把版本降下來,這里我引用的是5.2.1

下面就簡單了,找到maven執(zhí)行install,結(jié)束在你的工程?target下會有個LuckyFrameWeb.jar

?把包放到服務(wù)器的data文件夾下

?在服務(wù)上找到這個包

?【nohup java -jar LuckyFrameWeb.jar &】后臺執(zhí)行java -jar

?【tail -f nohup.out】查看日志

?ps:重點!!!用阿里云服務(wù)的小伙伴一定要記得要關(guān)閉防火墻和開發(fā)安全組端口

打開瀏覽器 輸入 服務(wù)器IP:8888?

默認(rèn)賬號密碼:admin | admin

idea打包 over

服務(wù)器打包

下面我們進行服務(wù)器打包,第一步當(dāng)然是裝個maven啦

我們先下載壓縮包

解壓縮【tar zxvf apache-maven-3.6.3-bin.tar.gz】
解壓完成后生成一個目錄:apache-maven-3.6.3

?轉(zhuǎn)移至固定目錄(可選,但推薦)

$ # 推薦放在 /usr/local/maven 下
$【mkdir /usr/local/maven】
$【sudo mv apache-maven-3.6.3 /usr/local/maven/】

配置環(huán)境變量

$ # 這一步的目的是讓系統(tǒng)可以通過 PATH 找到 maven 的可執(zhí)行文件
$【echo "MAVEN_HOME=/usr/local/maven/apache-maven-3.6.3" >> ~/.bashrc】
$【echo "PATH=${PATH}:${MAVEN_HOME}/bin" >> ~/.bashrc】
$【 echo "export PATH" >> ~/.bashrc】
$【 source ~/.bashrc】

檢查是否安裝成功 【mvn -v】

maven OK了,下一步download代碼

https://gitee.com/seagull1985/LuckyFrameWeb?_from=gitee_search

手動下載zip包,遷移到服務(wù)器home文件夾?

?

老規(guī)矩,切換目錄,解壓zip包 【unzip LuckyFrameWeb-master.zip】

?這里我們可以看到代碼已解壓

?老規(guī)矩,修改配置,上面idea的步驟來一遍

?接下來該打包了,我們先切換到LuckyFrameWeb目錄【cd /home/LuckyFrameWeb-master】

打包【mvn install】

?結(jié)束我們可以看見target也有我們要的包了

?把包轉(zhuǎn)移到data目錄下

【cd /home/LuckyFrameWeb-master/target】

【sudo cp LuckyFrameWeb.jar /data】

?老規(guī)矩

?【cd /】【cd data/】切換目錄

?【nohup java -jar LuckyFrameWeb.jar &】后臺執(zhí)行java -jar

?【tail -f nohup.out】查看日志

打開瀏覽器 輸入 服務(wù)器IP:8888?

默認(rèn)賬號密碼:admin | admin

呼~ 完結(jié)撒花? nonono既然是自動化平臺怎么能手動打包呢,接下來我們進行自動化部署

自動化部署

來吧,先安裝Jenkins

配置環(huán)境變量,在/etc/profile中添加
export JAVA_HOME=/usr/lib/jvm/Java-8-openjdk-amd64?
export JRE_HOME=$JAVA_HOME/jre?
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH?
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH?

?使配置立即生效(無需重啟)【source /etc/profile】

?安裝jenkins

【wget -q -O - https://pkg.jenkins.io/debian/jenkins-ci.org.key | sudo apt-key add -?】

【sudo sh -c 'echo deb http://pkg.jenkins.io/debian-stable binary/ >】

【/etc/apt/sources.list.d/jenkins.list'?】

【sudo apt-get update?】

【sudo apt-get install jenkins】

jenkins的默認(rèn)端口是8080這里我們修改一下

找到 /etc/default/jenkins文件

修改端口為8989?

?

?啟動jenkins 【/etc/init.d/jenkins restart】

瀏覽器訪問 IP:8989?

??根據(jù)提示找到initialAdminPassword文件,打開復(fù)制密碼

?

選擇跳過插件安裝

??

??

進入首頁,英文??那么先把必要插件安裝上

??

?先把漢化包安裝上?

刷新,漢化了

??

繼續(xù)安裝Maven、Git插件

??

插件安裝完,開始配置環(huán)境

新增JDK -》取消自動安裝 -》添加默認(rèn)JDK地址【/usr/lib/jvm/java-1.8.0-openjdk-amd64】

?新增maven -》取消自動安裝 -》添加默認(rèn)maven地址【/usr/local/maven/apache-maven-3.6.3】

?應(yīng)用保存,開始創(chuàng)建任務(wù)

?Git倉庫這里小伙伴自行百度吧,文章太長了。。。。。

實在不行可以用官網(wǎng)?Git倉庫地址??git:https://gitee.com/seagull1985/LuckyFrameWeb.git

ps:官網(wǎng)?Git倉庫地址的小伙伴要注意配置文件!!!否則項目可能啟不來!!!

?

?下面先構(gòu)建mave命令

?

然后開始構(gòu)建shell

?

#export BUILD_ID=dontKillMe這一句很重要,這樣指定了,項目啟動之后才不會被Jenkins殺掉。
export BUILD_ID=dontKillMe

#指定最后編譯好的jar存放的位置
www_path=/data

#Jenkins中編譯好的jar位置
jar_path=/var/lib/jenkins/workspace/test/luckyframe/target

#Jenkins中編譯好的jar名稱
jar_name=LuckyFrameWeb.jar

#進入指點的編譯好的jar的位置
cd ${jar_path}

#將編譯好的jar復(fù)制到最后指定的位置
cp ${jar_path}/${jar_name} ${www_path}

#進入最后指定存放jar的位置
cd ${www_path}

#啟動jar,指定SpringBoot的profiles為test,后臺啟動
java -jar ${jar_name} &

?應(yīng)用保存,開始構(gòu)建

?問題又來了,jenkins無權(quán)限

找到 /etc/default/jenkins 文件修改權(quán)限為root

?運行jps -l 找到j(luò)enkins進程

?kill 30861 殺死進程 【/etc/init.d/jenkins restart】再重啟

再次構(gòu)建

?登錄

完結(jié)撒花!!!

ps:jenkins還可以添加優(yōu)化每次啟動自動殺死上一個進程等等,luckyframe功能也可以自行探索?

總結(jié)

以上是生活随笔為你收集整理的从零搭建自动化测试平台的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。