了解下来通用做法:jenkins+ant+jmeter
jenkins: 是开源的、提供友好操作界面的持续集成工具,主要用于持续、自动的构建/测试软件项目、监控外部任务的运行。jenkins用java语言编写,可在Tomcat等流行的servlet容器中运行,也可以独立云溪。通常与版本管理工具(SVN,GIT)、构建工具(MAVEN,ANT,GRADLE)结合使用。
ant: apache ant是一个将软件编译、测试、部署等步骤联系在一起加以自动化的工具。Ant是纯java语言编写的,具有跨平台性。Ant运行时需要一个XML文件(构建文件),Ant通过调用target树,可以执行各种task,每个task实现了特定接口对象,它很容易集成到开发环境中去。
jmeter:
apache jmeter: 是基于java的压力测试工具。
这个最终需要部署到专门测试linux机器上,现阶段在本地window机器搭建完善好后,再部署到测试服务器上。
JDK: jdk1.8.0_281
ANT: apache-ant-1.10.9
JMETER: apache-jmeter-5.4.1
JENKINS:jenkins-war:2.263.3
下载地址:https://archive.apache.org/dist/jmeter/binaries/
1、解压apache-jmeter-5.4.1.zip到D:\software目录下
2、配置环境变量
1)新建:JMETER_HOME ,变量值输入:D:\software\apache-jmeter-5.4.1_A5
2)环境变量:CLASSPATH,添加
%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar;
3)环境变量:Path,添加 %JMETER_HOME%\bin
下载地址:https://ant.apache.org/bindownload.cgi
1、解压apache-ant-1.10.9-bin.zip到D:\software目录下
2、配置环境变量
1)新建环境变量 ANT_HOME ,变量输入:D:\software\apache-ant-1.10.9
1、 jmeter结果文件默认保存的是.csv格式的文件,因为后面要生成html,所以要修改下默认配 置,修改文件“apache-jmeter-5.4.1_A5\bin\jmeter.properties”,设置:jmeter.save.saveservice.output_format=xml
2、 将apache-jmeter-5.4.1_A5\extras\ant-jmeter-1.1.1.jar拷贝到“\apache-ant-1.10.9\lib\”下
3、 在D:\software\apache-jmeter-5.4.1_A5下新建JmeterSpace目录,
Script 目录用来存放.jmx测试文件
ResultLog\html 目录存放生成的html文件
ResultLog\jtl 目录存放生成的jtl文件
4、创建built.xml,配置如下
<project name="ant-jmeter" default="run" basedir=".">
<property name="jmeterPath" value="D:\software\apache-jmeter-5.4.1_A5"/>
<tstamp><format property="time" pattern="yyyyMMddHHmm" />tstamp>
<property name="jmeter.home" value="D:\software\apache-jmeter-5.4.1_A5"/>
<property name="jmeter.result.jtl.dir" value="D:\software\apache-jmeter-5.4.1_A5\JmeterSpace\ResultLog\jtl"/>
<property name="jmeter.result.html.dir" value="D:\software\apache-jmeter-5.4.1_A5\JmeterSpace\ResultLog\html"/>
<property name="htmlReportNameSummary" value="TestReport"/>
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${htmlReportNameSummary}.jtl"/>
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${htmlReportNameSummary}.html"/>
<target name="run">
<antcall target="test"/>
<antcall target="report"/>
target>
<target name="test">
<echo>执行接口自动化测试用例echo>
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<testplans dir="D:\software\apache-jmeter-5.4.1_A5\JmeterSpace\Script" includes="*.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>
jmeter>
target>
<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan*.jar" />
<fileset dir="${jmeter.home}/lib" includes="serializer*.jar" />
path>
<target name="report">
<echo>生成接口自动化测试报告echo>
<tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" />tstamp>
<param name="titleReport" expression="${mailsubject}${time}"/>
<param name="dateReport" expression="${report.datestamp}"/>
xslt>
<copy file="${jmeter.home}/extras/expand.png" tofile="${jmeter.result.html.dir}/expand.png" />
<copy file="${jmeter.home}/extras/collapse.png" tofile="${jmeter.result.html.dir}/collapse.png" />
target>
project>
5、测试
在D:\software\apache-jmeter-5.4.1_A5\JmeterSpace打开cmd
执行: ant -Dtest=Script (Script这边我已经放入了.jmx测试文件)
执行成功后,可在html目录下,看到执行生成的html结果文件。
接下来就是jenkins了。
下载地址:https://get.jenkins.io/war-stable/2.263.3/
1、将下载的war包放入到D:\software\jenkins目录下,在该目录下执行cmd,启动jenkins.war包
java -jar jenkins.war
2、默认端口是8080,启动成功后,访问http://localhost:8080/
更具体的安装步骤,可百度查找。
安装完成后,检查是否有这几个插件:Ant Plugin,Performance plugin,HTML publisher plugin,Groovy,若没有则依次安装
安装插件步骤
首页点击系统管理Manage Jenkins->管理插件Manage Plugins
上述jenkins准备就绪,开始配置项目。
1、新建item>Freestyle project,创建一个自由风项目
2、general,源码管理使用默认无,构建触发器,环境搭建使用默认空,
Ant Version选择,选择前需先在全局工具配置里面配置好
Jenkins配置全局工具ANT
点击Manage Jenkins>Global Tool Configuration
Ant >新增Ant
Name: 确定ant名称
ANT_HOME: 配置ANT的安装路径,D:\software\apache-ant-1.10.9
应用,保存。
Targets: build.xml文件里标签维护的name:“run”
Build File: ant 构建文件build.xml的文件路径:D:/software/apache-jmeter-5.4.1_A5/JmeterSpace/build.xml
4、构建:新增Execute Grooxy script(解决Jenkins,查看配置HMTl测试报告样式丢失,未加载JS和CSS问题)
在Grooxy script ,输入命令:
System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")
5、构建后操作:增加构建后操作步骤Pubulish Performance test result report
Source data files (autodetects format): 生成的jtl文件路径,D:\software\apache-jmeter-5.4.1_A5\JmeterSpace\ResultLog\jtl\TestReport.jtl(现在还是固定一个文件,这边能到目录,还未尝试),
StandModle: 生成的jtl文件内容格式
6、构建后操作:增加构建后操作步骤Pubulish HTML reports
HTML directory to archive: 生成的html文件路径,D:\software\apache-jmeter-5.4.1_A5\JmeterSpace\ResultLog\html
index pages: *.html展示所有的html文件
可在控制台看到执行过程中输出的log日志
8、查看生成的html结果
点击HTML Report
9、生成带图标格式的,待完善;
通过jenkins+ant+jmeter,可以通过web友好页面,手动或者自动(现在还没有这个需求,触发条件还没用到),去执行已经设置好的.jmx测试用例,并在HTML Report插件里,直接看到生成的结果页面。因为初学的原因和目标要求结果不明确,某些过程配置还有待完善的地方,后面会根据实际情况逐步完善。记录下博文刚好自己把整个过程和理解理了下,看了好多个别人的博客凑出来的,最终发现有点凌乱,下次再搭建可能还是乱的。