开头的注意事项:
1、所有的环境变量和代码,都需要使用英文的符号,变量之间都需要英文分号;隔开。
2、配置环境时,最好切换到英文输入法进行,以免由于中文符号出错,不好查找原因。
3、调试时,没有使用命令行工具,一直使用的Xshell。
一、 安装包准备
JDK:jdk1.8.0_91
Ant:apache-ant-1.9.7
Jmeter:apache-jmeter-3.0(还需要下载jmeter的两个插件JMeterPlugins-Extras-1.4.0和JMeterPlugins-Standard-1.4.0)
Jenkins:jenkins-1.651.1
二、 安装JDK
安装时,一直点下一步就可以,也可以选择自己想安装的目录进行安装。
1、配置JAVA_HOME变量:
桌面右键计算机=>属性=>高级系统设置=>环境变量=>系统变量=>新建
变量名为JAVA_HOME 变量值填写jdk安装路径,如果安装多个jdk版本,在此处写哪个路径就可直接变更jdk版本
2、系统变量=>Path,双击打开编辑
在变量值最后输入 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
注意,所有变量值之间都必须有英文分号;隔开
3、系统变量=>新建CLASSPATH变量,若有则直接编辑
变量值:.;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar
注意:最前面有一个英文句号“.”。
4、打开命令行,输入java-version,会打印出当前JDK的版本号
三、 安装Jmeter
1、 直接解压Jmeter压缩包,就算安装成功了
2、Jmeter插件的安装。
解压JMeterPlugins-Extras-1.4.0.zip、JMeterPlugins-Standard-1.4.0.zip,将两个文件夹lib\ext目录下的所有文件拷贝到apache-jmeter-3.0\lib\ext目录下;
3、配置Jmeter环境变量
1)新建系统变量,变量名称:JMETER_HOME,变量值:D:\software\apache-jmeter-3.0(Jmeter本地安装路径)
2)在系统变量CLASSPATH中添加
%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar;
3)在系统变量中Path中添加%JMETER_HOME%\bin
4)打开命令行,输入jmeter-v,打印出jmeter版本号表示安装成功(若是命令行不支持,则使用别的工具,如Xshell)
四、 安装Ant
1、直接解压apache-ant-1.9.7-bin.zip到想要的目录,就算安装成功了
2、 配置Ant环境变量
1) 新建系统变量:ANT_HOME,变量值为Ant的本地安装路径,如我的:D:\software\apache-ant-1.9.7
2) 在系统变量Path后添加%ANT_HOME%\bin
3)打开命令行,输入ant-version,打印出ant版本号表示配置成功(若是命令行不支持,则使用别的工具,如Xshell)
3、 本地调试使用ant构建运行Jmeter,并且生成jtl、html格式报告
3.1 jmeter默认保存的是.csv格式文件,因此需要把默认的进行修改,找到bin/jmeter.properties文件,修改jmeter.save.saveservice.output_format=xml,需要把前面的注释符去掉
3.2 将apache-jmeter-3.0\extras\ant-jmeter-1.1.1.jar拷贝到apache-ant-1.9.7\lib目录下
3.3 在Xshell或命令行,先进入\apache-jmeter-2.13\extras目录,运行"ant.bat-file build.xml -Dtest=Test" . 查看\apache-jmeter-2.13\extras目录下是否出现Test.jtl、Test.html文件,若有,则构建成功。
到这里出问题了,一直构建失败,提示jtl文件不存在(***.Jtl does not exist),尝试了很多方法,都不行,最后到网上找了一个范例,把build.xml文件整个给改了,然后终于成功了,步骤如下:
1)在本地创建一个存放report的目录;
2)把build.xml和样式文件jmeter-results-detail-report_21.xsl(这个需要自己上网找正确的,不然样式会错)都放入该目录下;
3)自己本地有专门存放脚本的目录,每次要运行哪个目录的脚本,需要去修改build.xml文件脚本文件目录;
4)修改build.xml,代码如下;
5)命令行或者别的工具,进入自己创建的report目录后,执行ant.bat -file build.xml -Dtest=脚本文件名(不需要后缀),发现就能在这个目录生成jtl和html文件了。
附上我的build.xml代码,注意第一行必须顶格,不然会报错:
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddHHmm" />
</tstamp>
<!-- 本地存放报告的路径-->
<property name="basedirectory" value="D:\software\workspace\report" />
<!-- 本地存放脚本的路径-->
<property name="scriptdirectory" value="D:\scriptFile\jmeter\yuejuanxing" />
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="D:\software\apache-jmeter-3.0" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="${basedirectory}" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="${basedirectory}" />
<!-- Name of test (without .jmx) -->
<property name="test" value="Test"/>
<!-- 生成的报告的前缀-->
<property name="ReportName" value="TestReport" />
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${test}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${test}.html" />
<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
</path>
<target name="run">
<antcall target="test" />
<antcall target="report" />
</target>
<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">