自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

詳解使用Git和Jmeter-Maven-Plugin管理Jmeter腳本的接口測(cè)試方案

開發(fā) 前端
本文我們來(lái)繼續(xù)這一話題,深入講解如何通過(guò)git和jmeter-maven-plugin來(lái)管理jmeter腳本,以及其如何在接口持續(xù)集成測(cè)試中進(jìn)行應(yīng)用。

上一篇文章中講解了如何使用jmeter進(jìn)行接口測(cè)試以及落地的方案,詳情參考:

??干貨!Jmeter落地接口測(cè)試的實(shí)現(xiàn)方案。???

本文我們來(lái)繼續(xù)這一話題,深入講解如何通過(guò)git和jmeter-maven-plugin來(lái)管理jmeter腳本,以及其如何在接口持續(xù)集成測(cè)試中進(jìn)行應(yīng)用。

總體策略

  • 使用公司的gitlab管理jmeter腳本(maven工程),大家每次本地編輯腳本后都需要提交更新的腳本到gitlab。
  • 每個(gè)人只更新維護(hù)自己的腳本(避免引起沖突)。
  • 腳本提交前要確保腳本執(zhí)行的正確性。
  • 只在主干工作,沒(méi)有涉及到分支。
  • 后續(xù)使用jmeter-maven-plugin對(duì)jmx執(zhí)行進(jìn)行管理,這樣方便了jmx接口測(cè)試腳本在持續(xù)集成中的應(yīng)用(腳本編寫人員無(wú)須關(guān)注)

接下來(lái)會(huì)對(duì)git基礎(chǔ)概念和jmeter-maven-plugin進(jìn)行基礎(chǔ)介紹:

Git基礎(chǔ)概念

這部分講解非常實(shí)用簡(jiǎn)單,即使大家是git小白,看了這篇文章也會(huì)快速上手git!

Git 工作區(qū)、暫存區(qū)和版本庫(kù)概念:

工作區(qū):就是在電腦里能看到的目錄,下圖中的workspace。

暫存區(qū):英文叫 stage 或 index。一般存放在 .git 目錄下的 index 文件(.git/index)中,所以我們把暫存區(qū)有時(shí)也叫作索引(index),下圖中的staging area。

版本庫(kù):工作區(qū)有一個(gè)隱藏目錄 .git,這個(gè)不算工作區(qū),而是 Git 的版本庫(kù)。

對(duì)應(yīng)下圖中的local repository(本地)和remote repository(遠(yuǎn)程,通常指github、gitlab)

詳解使用git和jmeter-maven-plugin管理jmeter腳本的接口測(cè)試方案

重點(diǎn)!重點(diǎn)!重點(diǎn)!對(duì)于git的各種命令使用記住上面這個(gè)圖就可以了?。?!

核心命令

  • clone(克?。? 從遠(yuǎn)程倉(cāng)庫(kù)中克隆代碼到本地倉(cāng)庫(kù)。
  • checkout (檢出):從本地倉(cāng)庫(kù)中檢出一個(gè)倉(cāng)庫(kù)分支然后進(jìn)行修訂。
  • add(添加): 在提交前先將代碼提交到暫存區(qū)。
  • commit(提交): 提交到本地倉(cāng)庫(kù)。本地倉(cāng)庫(kù)中保存修改的各個(gè)歷史版本。
  • fetch (抓取) : 從遠(yuǎn)程庫(kù),抓取到本地倉(cāng)庫(kù),不進(jìn)行任何的合并動(dòng)作,一般操作比較少。
  • pull (拉取) : 從遠(yuǎn)程庫(kù)拉到本地庫(kù),自動(dòng)進(jìn)行合并(merge),然后放到工作區(qū),相當(dāng)于 fetch+merge。
  • push(推送) : 修改完成后,需要和團(tuán)隊(duì)成員共享代碼時(shí),將代碼推送到遠(yuǎn)程倉(cāng)庫(kù)。

初始化

git init初始化倉(cāng)庫(kù)。

備注:使用git clone 無(wú)須初始化倉(cāng)庫(kù)。

提交代碼到倉(cāng)庫(kù)

  • git add [file1] [file2] ... 添加一個(gè)或多個(gè)文件到暫存區(qū)。
  • git add [dir] 添加指定目錄到暫存區(qū),包括子目錄。
  • git add . 添加當(dāng)前目錄下的所有文件到暫存區(qū),提交新文件(new)和被修改(modified)文件,不包括被刪除(deleted)文件。
  • git add -u 提交被修改(modified)和被刪除(deleted)文件,不包括新文件(new)。
  • git add -A 提交所有變化。
  • git commit -m '初始化項(xiàng)目版本' 提交暫存區(qū)到本地倉(cāng)庫(kù)中:
  • git commit -a 參數(shù)a設(shè)置修改文件后不需要執(zhí)行 git add 命令,直接來(lái)提交。

修改

  • git status 查看倉(cāng)庫(kù)當(dāng)前的狀態(tài),顯示有變更的文件。
  • git diff 比較文件的不同,即暫存區(qū)和工作區(qū)的差異。
  • git diff <分支名1> <分支名2> :比較兩個(gè)分支上最后 commit 的內(nèi)容的差別。
  • git diff --cached 或 git diff --staged:顯示暫存區(qū)(已a(bǔ)dd但未commit文件)和最后一次commit(HEAD)之間的所有不相同文件的增刪改。
  • git diff HEAD:顯示工作目錄(已track但未add文件)和暫存區(qū)(已a(bǔ)dd但未commit文件)與最后一次commit之間的所有不相同文件的增刪改。
  • git reset 回退版本。
  • git rm 刪除工作區(qū)文件。
  • git mv 移動(dòng)或重命名工作區(qū)文件。

提交日志

  • git log 查看歷史提交記錄。
  • git blame <file> 以列表形式查看指定文件的歷史修改記錄。

遠(yuǎn)程操作

  • git remote 遠(yuǎn)程倉(cāng)庫(kù)操作。
  • git fetch 從遠(yuǎn)程獲取代碼庫(kù)。
  • git pull 下載遠(yuǎn)程代碼并合并。
  • git push 上傳遠(yuǎn)程代碼并合并。

Git 分支管理

  • git branch 查看分支。
  • git branch aa 添加分支aa。
  • git checkout aa 切換到aa分支。
  • git branch -d aa 刪除aa分支。
  • git branch -d aa 合并完后就可以刪除分支。

jmeter-maven-plugin管理jmx文件

jmeter-maven-plugin實(shí)現(xiàn)了在maven項(xiàng)目中運(yùn)行jmx文件進(jìn)而批量執(zhí)行jmeter腳本并生成測(cè)試報(bào)告的需求,這樣在持續(xù)繼承中運(yùn)行jmx腳本就非常方便了,pom.xml內(nèi)容如下:

<?xml version="1.0" encoding="UTF-8"?>
-<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://maven.apache.org/POM/4.0.0">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>JmeterAPI</artifactId>
<version>1.0-SNAPSHOT</version>
-<build>
-<plugins>
-<plugin>
<groupId>com.lazerycode.jmeter</groupId>
<artifactId>jmeter-maven-plugin</artifactId>
<version>3.4.0</version>
-<executions>
<!-- Generate JMeter configuration -->
-<execution>
<id>configuration</id>
-<goals>
<goal>configure</goal>
</goals>
</execution>
<!-- Run JMeter tests -->
-<execution>
<id>jmeter-tests</id>
-<goals>
<goal>jmeter</goal>
</goals>
</execution>
<!-- Fail build on errors in test -->
-<execution>
<id>jmeter-check-results</id>
-<goals>
<goal>results</goal>
</goals>
</execution>
</executions>
-<configuration>
<generateReports>true</generateReports>
-<testFilesExcluded>
<excludeJMeterTestFile>Demo.jmx</excludeJMeterTestFile>
<ignoreResultFailures>true</ignoreResultFailures>
</testFilesExcluded>
</configuration>
</plugin>
</plugins>
</build>

使用該插件核心有以下三點(diǎn):

  • 使用jmeter-maven-plugin,我們需要把所有的用例放在/src/test/jmeter目錄下。
  • 運(yùn)行腳本通過(guò)mvn clean verify。
  • 生成的日志和報(bào)告在工程目錄 \target\jmeter,一個(gè)jmx腳本會(huì)生成一個(gè)報(bào)告。

在pom.xml中,如果你想忽略某個(gè)jmx文件的運(yùn)行,可以如下設(shè)置:

<excludeJMeterTestFile>Demo.jmx</excludeJMeterTestFile>

默認(rèn)如果jmx執(zhí)行過(guò)程中有錯(cuò)誤,則會(huì)停止運(yùn)行,pom中配置<ignoreResultFailures>true</ignoreResultFailures>則可以避免這個(gè)問(wèn)題。

還有很多關(guān)于jmeter-maven-plugin的使用技巧等待大家自行探索,非常簡(jiǎn)單,參考:

https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki 完全可以輕松搞定!

Git管理腳本的具體應(yīng)用

具體執(zhí)行步驟:

本機(jī)安裝git環(huán)境,下載git bash并默認(rèn)安裝即可,官方鏈接如下:

https://git-scm.com/downloads。

在git bash中可以使用linux命令進(jìn)行相關(guān)操作,創(chuàng)建一個(gè)目錄

詳解使用git和jmeter-maven-plugin管理jmeter腳本的接口測(cè)試方案

執(zhí)行命令 git init,初始化git工程

執(zhí)行命令 git pull 下載遠(yuǎn)程項(xiàng)目到本地(我們前一章節(jié)講解的使用了jmeter-maven-plugin的maven項(xiàng)目)

進(jìn)入工程目錄。

/JmeterScript/YourAPIProject/src/test/jmeter

通過(guò)jmeter編寫接口用例,然后把本地jmx用例拷貝到目錄

/JmeterScript/YourAPIProject/src/test/jmeter中,這樣就實(shí)現(xiàn)了git 與maven項(xiàng)目的文件關(guān)聯(lián)。

先后執(zhí)行命令:

git add 具體業(yè)務(wù).jmx (只提交自己的jmx文件即可)
git commit –m “提交信息”

備注:首次提交需要執(zhí)行命令。

git config --global user.email "you@example.com"
git config --global user.name "Your Name"

執(zhí)行命令git push origin master 把腳本上傳到gitlab(完成了腳本的上傳工作)。

備注:如果只有自己維護(hù)代碼大家只需要執(zhí)行push 操作更新gitlab腳本即可;如果涉及多人共享,需要先執(zhí)行g(shù)it pull origin master,從gitlab獲取最新代碼,然后在進(jìn)行編輯,最后提交。

運(yùn)行jmx腳本

我們可以定時(shí)構(gòu)建使用了jmeter-maven-plugin的maven項(xiàng)目。

  • 運(yùn)行腳本通過(guò)mvn clean verify。
  • 生成的日志和報(bào)告在工程目錄 \target\jmeter。
  • 分析日志和報(bào)告,判斷接口的執(zhí)行情況,這里需要寫一些代碼對(duì)生成的報(bào)告進(jìn)行解析 ,在此就不詳細(xì)介紹了。

總結(jié)

文章寫了很多,但是總結(jié)起來(lái)其實(shí)很簡(jiǎn)單,主要包括以下四點(diǎn):

  • 把jmx放在maven的工程里,通過(guò)jmeter-maven-plugin管理jmx的運(yùn)行策略。
  • maven工程放到gitlab中,通過(guò)git上傳下載工程文件。
  • 本地的jmx文件,通過(guò)git上傳到gitlab中。
  • 通過(guò)構(gòu)建maven工程運(yùn)行jmx文件。
責(zé)任編輯:姜華 來(lái)源: 今日頭條
相關(guān)推薦

2022-05-27 07:28:05

jmeter接口測(cè)試

2009-06-17 13:58:00

JMeter測(cè)試EJB

2013-01-18 10:31:20

JMeterHTTP負(fù)載

2022-07-28 09:16:42

JMeter接口

2011-07-27 14:41:43

JMeterMySQL

2020-04-02 20:26:22

線程組插件開發(fā)

2009-07-01 18:24:59

JSP應(yīng)用程序JMeter

2021-09-06 11:58:24

Python腳本Jmeter

2023-05-04 10:56:23

JmeterJava

2022-08-18 10:01:35

Jmeter技巧

2023-11-04 16:36:33

Jmet er測(cè)試

2018-11-19 09:00:52

Docker鏡像容器

2017-04-24 16:24:23

JMeter實(shí)戰(zhàn)軟件性能測(cè)試

2021-10-29 08:19:54

JMeterJava java sample

2012-02-02 09:12:16

JavaJMeter

2011-08-09 10:20:55

GitLinux遠(yuǎn)程倉(cāng)庫(kù)

2022-05-13 08:12:00

JMeter測(cè)試計(jì)劃

2012-03-13 14:33:55

JavaJenkinsgit

2012-03-20 10:31:11

GitMavenJava

2012-02-08 14:16:55

Apache
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)