成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

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

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

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

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

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

總體策略

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

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

Git基礎(chǔ)概念

這部分講解非常實用簡單,即使大家是git小白,看了這篇文章也會快速上手git!

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

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

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

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

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

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

重點!重點!重點!對于git的各種命令使用記住上面這個圖就可以了!!!

核心命令

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

初始化

git init初始化倉庫。

備注:使用git clone 無須初始化倉庫。

提交代碼到倉庫

  • git add [file1] [file2] ... 添加一個或多個文件到暫存區(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 '初始化項目版本' 提交暫存區(qū)到本地倉庫中:
  • git commit -a 參數(shù)a設(shè)置修改文件后不需要執(zhí)行 git add 命令,直接來提交。

修改

  • git status 查看倉庫當(dāng)前的狀態(tài),顯示有變更的文件。
  • git diff 比較文件的不同,即暫存區(qū)和工作區(qū)的差異。
  • git diff <分支名1> <分支名2> :比較兩個分支上最后 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 移動或重命名工作區(qū)文件。

提交日志

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

遠(yuǎn)程操作

  • git remote 遠(yuǎn)程倉庫操作。
  • git fetch 從遠(yuǎn)程獲取代碼庫。
  • 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實現(xiàn)了在maven項目中運行jmx文件進(jìn)而批量執(zhí)行jmeter腳本并生成測試報告的需求,這樣在持續(xù)繼承中運行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>

使用該插件核心有以下三點:

  • 使用jmeter-maven-plugin,我們需要把所有的用例放在/src/test/jmeter目錄下。
  • 運行腳本通過mvn clean verify。
  • 生成的日志和報告在工程目錄 \target\jmeter,一個jmx腳本會生成一個報告。

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

<excludeJMeterTestFile>Demo.jmx</excludeJMeterTestFile>

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

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

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)建一個目錄

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

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

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

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

/JmeterScript/YourAPIProject/src/test/jmeter

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

/JmeterScript/YourAPIProject/src/test/jmeter中,這樣就實現(xiàn)了git 與maven項目的文件關(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)行編輯,最后提交。

運行jmx腳本

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

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

總結(jié)

文章寫了很多,但是總結(jié)起來其實很簡單,主要包括以下四點:

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

2022-05-27 07:28:05

jmeter接口測試

2009-06-17 13:58:00

JMeter測試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測試

2018-11-19 09:00:52

Docker鏡像容器

2017-04-24 16:24:23

JMeter實戰(zhàn)軟件性能測試

2021-10-29 08:19:54

JMeterJava java sample

2011-08-09 10:20:55

GitLinux遠(yuǎn)程倉庫

2012-02-02 09:12:16

JavaJMeter

2022-05-13 08:12:00

JMeter測試計劃

2012-02-08 14:16:55

Apache

2012-03-20 10:31:11

GitMavenJava

2012-03-13 14:33:55

JavaJenkinsgit
點贊
收藏

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

主站蜘蛛池模板: 久久精品国产99国产精品 | 免费黄色片在线观看 | 在线国产一区 | 国产乱码精品一区二区三区忘忧草 | 精品国产欧美一区二区三区成人 | 一区二区三区在线电影 | 久久这里只有精品首页 | 国产福利在线 | 亚洲啪啪 | 国产精品久久久久久久久久 | 91视频网 | 亚洲精品国产一区 | 亚洲精品久久久一区二区三区 | 成人久久18免费网站麻豆 | av国产精品毛片一区二区小说 | 欧美极品少妇xxxxⅹ免费视频 | 四虎首页| 91高清视频在线观看 | 成人精品国产免费网站 | 丁香五月缴情综合网 | 国产在线h | 中文字幕电影在线观看 | 欧美日韩在线电影 | 91在线观看网址 | 男女视频免费 | 99国产精品99久久久久久 | 中文字幕 国产 | 日韩在线欧美 | 欧美中文字幕一区二区三区 | 91精品国产综合久久久久 | 欧美一级免费 | 影音先锋成人资源 | 成人精品久久 | 亚洲国产黄 | 亚洲高清一区二区三区 | 国内av在线 | 91观看| 国产精品99视频 | 色橹橹欧美在线观看视频高清 | 欧美日韩精品免费观看 | 久久久久久久一区二区三区 |