上一篇文章讲解了如何使用jmeter进行接口测试和登陆方案。详情请参考:干货!Jmeter登陆接口测试的实现方案。本文将继续这个话题,深入讲解如何通过git和jmeter-maven-plugin管理jmeter脚本,以及如何在接口持续集成测试中应用。总体策略是使用公司的gitlab来管理jmeter脚本(maven项目)。大家每次在本地编辑脚本的时候都需要把更新后的脚本提交到gitlab。每个人只更新和维护自己的脚本(避免冲突)。在提交脚本之前确保脚本执行的正确性。只在主干上工作,不涉及分支。后续使用jmeter-maven-plugin管理jmx执行,方便jmx接口测试脚本在持续集成中的应用(脚本编写者无需关注)。接下来介绍git和jmeter-maven-plugin的基本概念:这部分Git的基本概念非常实用简单。即使你是一个git新手,看完这篇文章你也会很快上手git!Git工作区、暂存区和版本库的概念:工作区:就是电脑上可以看到的目录,下图中的工作区。暂存区:英文称为stage或index。一般存放在.git目录下的索引文件(.git/index)中,所以我们有时会把暂存区称为索引(index),下图中的暂存区。Repository:工作空间中有一个隐藏目录.git,不认为是工作空间,而是Git仓库。对应下图中的本地仓库(local)和远程仓库(remote,通常指的是github,gitlab)!重点!重点!git的各种命令,只要记住上图就可以了!!!核心命令克隆(clone):将代码从远程仓库克隆到本地仓库。checkout:从本地仓库中签出仓库分支并进行修改。add(添加):提交前将代码提交到暂存区。commit(提交):提交到本地仓库。修改后的历史版本保存在本地仓库中。fetch(获取):从远程仓库中,fetch到本地仓库,不做任何合并动作,一般操作比较少。pull(拉):从远程库拉取到本地库,自动合并(merge),然后放入workspace,相当于fetch+merge。推送(push):修改完成后,需要将代码分享给团队成员时,将代码推送到远程仓库。初始化gitinit以初始化存储库。注意:使用gitclone时不需要初始化仓库。提交代码到仓库gitadd[file1][file2]...添加一个或多个文件到暂存区。gitadd[dir]添加指定目录到暂存区,包括子目录。混帐添加。将当前目录下的所有文件添加到暂存区,提交新文件(new)和修改(modified)文件,不包括删除(deleted)文件。gitadd-u提交修改(modified)和删除(deleted)的文件,不包括新文件(new)。gitadd-A提交所有更改。gitcommit-m'初始化项目版本'提交暂存区到本地仓库:gitcommit-a参数a设置为修改文件,不执行gitadd命令,直接提交即可。修改gitstatus,查看仓库当前状态,显示变化的文件。gitdiff比较文件之间的差异,即暂存区和工作区的差异。gitdiff:比较两个分支上最后一次提交的内容的差异。gitdiff--cached或gitdiff--staged:显示暂存区(已添加但未提交的文件)和最后一次提交(HEAD)之间不同文件的所有增删改查。gitdiffHEAD:显示工作目录(trackedbutnotaddedfiles)和暂存区(addedbutnotcommittedfiles)和上次commit之间所有不同文件的增删改查。git重置回滚版本。gitrm删除工作区文件。gitmv移动或重命名工作区文件。提交日志gitlog查看历史提交记录。gitblame以列表的形式查看指定文件的历史修改记录。远程操作gitremote远程仓库操作。gitfetch从远程获取存储库。gitpull下载远程代码并合并。gitpush上传远程代码并合并。Git分支管理gitbranch查看分支。gitbranchaa添加分支aa。gitcheckoutaa切换到aa分支。gitbranch-daa删除aa分支。gitbranch-daa可以删除合并后的分支。jmeter-maven-plugin管理jmx文件jmeter-maven-plugin实现了需要在maven项目中运行jmx文件然后批量执行jmeter脚本并生成测试报告,所以在持续继承、pom.jmx中运行jmx脚本非常方便。xml内容如下:-4.0.0org.exampleJmeterAPI1.0-SNAPSHOT---com.lazerycode.jmeterjmeter-maven-plugin3.4.0--jmeter-tests-jmeter-jmeter-check-results-results-true-Demo.jmxtrue这个插件的核心就是以下三点:使用jmeter-maven-plugin,我们需要将所有用例放在/src/test/jmeter目录下,通过mvncleanverify运行脚本。生成的日志和报告在项目目录\target\jmeter中,一个jmx脚本会生成报告。在pom.xml中,如果想忽略某个jmx文件的运行,可以这样设置:将停止运行。在pom中配置true可以避免这个问题。关于jmeter-maven-plugin还有很多使用技巧等着你自己去探索,很简单,参考:https://github.com/jmeter-maven-plugin/jmeter-maven-plugin/wiki可以轻松搞定!Git管理脚本的具体应用和具体执行步骤:本地安装git环境,下载gitbash并默认安装。官方链接如下:https://git-scm.com/downloads。在gitbash中,可以使用linux命令进行相关操作,创建目录,执行命令gitinit,初始化git项目,执行命令gitpull,将远程项目下载到本地(我们讲解maven项目使用上一章的jmeter-maven-plugin)进入项目目录。/JmeterScript/YourAPIProject/src/test/jmeter通过jmeter编写接口用例,然后将本地的jmx用例复制到/JmeterScript/YourAPIProject/src/test/jmeter目录下,从而实现git和maven项目的文件关联。依次执行命令:gitaddspecificbusiness.jmx(只提交自己的jmx文件)gitcommit–m"commitinformation"备注:第一次提交需要执行命令。gitconfig--globaluser.email"you@example.com"gitconfig--globaluser.name"你的名字"执行命令gitpushoriginmaster将脚本上传到gitlab(脚本上传完成)。备注:如果只是自己维护代码,只需要执行push操作更新gitlab脚本即可;如果涉及多人共享,需要先执行gitpulloriginmaster,从gitlab中获取最新的代码,然后编辑,最后提交。运行jmx脚本我们可以定期构建使用jmeter-maven-plugin的maven项目。通过mvncleanverify运行脚本。生成的日志和报告位于项目目录\target\jmeter中。为了分析日志和报表,判断接口的执行状态,这里需要写一些代码来分析生成的报表,这里不再详细介绍。总结文章写了很多,其实总结的很简单,主要有以下四点:将jmx放在maven项目中,通过jmeter-maven-plugin管理jmx的运行策略。maven项目放在gitlab中,通过git上传下载项目文件。本地的jmx文件通过git上传到gitlab。通过构建maven项目来运行jmx文件。