上一篇文章中讲解了如何使用jmeter进行接口测试以及落地的方案,详情参考:
Jmeter落地接口测试的实现方案
本文我们来继续这一话题,深入讲解如何通过git和jmeter-maven-plugin来管理jmeter脚本,以及其如何在接口持续集成测试中进行应用。
接下来会对git基础概念和jmeter-maven-plugin进行基础介绍
这部分讲解非常实用简单,即使大家是git小白,看了这篇文章也会快速上手git!
Git 工作区、暂存区和版本库概念:
工作区:就是在电脑里能看到的目录,下图中的workspace。
暂存区:英文叫 stage 或 index。一般存放在 .git 目录下的 index 文件(.git/index)中,所以我们把暂存区有时也叫作索引(index),下图中的staging area。
版本库:工作区有一个隐藏目录 .git,这个不算工作区,而是 Git 的版本库。
对应下图中的local repository(本地)和remote repository(远程,通常指github、gitlab)
重点!重点!重点!对于git的各种命令使用记住上面这个图就可以了!!!
核心命令
初始化
git init初始化仓库。
备注:使用git clone 无须初始化仓库
提交代码到仓库
git add [file1] [file2] ... 添加一个或多个文件到暂存区
git add [dir] 添加指定目录到暂存区,包括子目录
git add . 添加当前目录下的所有文件到暂存区,提交新文件(new)和被修改(modified)文件,不包括被删除(deleted)文件
git add -u 提交被修改(modified)和被删除(deleted)文件,不包括新文件(new)
git add -A 提交所有变化
git commit -m '初始化项目版本' 提交暂存区到本地仓库中:
git commit -a 参数a设置修改文件后不需要执行 git add 命令,直接来提交
修改
git status 查看仓库当前的状态,显示有变更的文件。
git diff 比较文件的不同,即暂存区和工作区的差异。
git diff <分支名1> <分支名2> :比较两个分支上最后 commit 的内容的差别。
git diff --cached 或 git diff --staged:显示暂存区(已add但未commit文件)和最后一次commit(HEAD)之间的所有不相同文件的增删改。
git diff HEAD:显示工作目录(已track但未add文件)和暂存区(已add但未commit文件)与最后一次commit之间的所有不相同文件的增删改。
git reset 回退版本。
git rm 删除工作区文件。
git mv 移动或重命名工作区文件。
提交日志
git log 查看历史提交记录
git blame
远程操作
git remote 远程仓库操作
git fetch 从远程获取代码库
git pull 下载远程代码并合并
git push 上传远程代码并合并
Git 分支管理
git branch 查看分支
git branch aa 添加分支aa
git checkout aa 切换到aa分支
git branch -d aa 删除aa分支
git branch -d aa 合并完后就可以删除分支
jmeter-maven-plugin实现了在maven项目中运行jmx文件进而批量执行jmeter脚本并生成测试报告的需求,这样在持续继承中运行jmx脚本就非常方便了,pom.xml内容如下:
-
4.0.0
org.example
JmeterAPI
1.0-SNAPSHOT
-
-
-
com.lazerycode.jmeter
jmeter-maven-plugin
3.4.0
-
-
configuration
-
configure
-
jmeter-tests
-
jmeter
-
jmeter-check-results
-
results
-
true
-
Demo.jmx
true
使用该插件核心有以下三点:
在pom.xml中,如果你想忽略某个jmx文件的运行,可以如下设置:
默认如果jmx执行过程中有错误,则会停止运行,pom中配置
还有很多关于jmeter-maven-plugin的使用技巧等待大家自行探索,非常简单,参考:
https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki 完全可以轻松搞定!
具体执行步骤:
本机安装git环境,下载git bash并默认安装即可,官方链接如下:https://git-scm.com/downloads
在git bash中可以使用linux命令进行相关操作,创建一个目录
执行命令 git init,初始化git工程
执行命令 git pull 下载远程项目到本地(我们前一章节讲解的使用了jmeter-maven-plugin的maven项目)
进入工程目录 /JmeterScript/YourAPIProject/src/test/jmeter
通过jmeter编写接口用例,然后把本地jmx用例拷贝到目录/JmeterScript/YourAPIProject/src/test/jmeter中,这样就实现了git 与maven项目的文件关联。
先后执行命令
git add 具体业务.jmx (只提交自己的jmx文件即可)
git commit –m “提交信息”
备注:首次提交需要执行命令
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
执行命令git push origin master 把脚本上传到gitlab(完成了脚本的上传工作)
备注:如果只有自己维护代码大家只需要执行push 操作更新gitlab脚本即可;如果涉及多人共享,需要先执行git pull origin master,从gitlab获取最新代码,然后在进行编辑,最后提交。
我们可以定时构建使用了jmeter-maven-plugin的maven项目
文章写了很多,但是总结起来其实很简单,主要包括以下四点:
把jmx放在maven的工程里,通过jmeter-maven-plugin管理jmx的运行策略;
maven工程放到gitlab中,通过git上传下载工程文件;
本地的jmx文件,通过git上传到gitlab中;
通过构建maven工程运行jmx文件。