目录
2. ant 和Jmeter整合,并且生成jtl、Html报告:
一、JDK
- 注:在安装Jmeter之前,请先检查下电脑有没有装JDK:开始->运行->然后输入cmd->进入命令行界面,输入java -version , 出现以下信息就是此电脑已安装了JDK
如果没有安装JDK,请参考下面的教程安装好JDK,并且配置好环境变量(配置的时候注意是英文的“;”)
JDK官网:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
<查看自己电脑是32位还是64位的,下载对应版本的JDK>
2. 进入后,如图1,点击任一红框进入下载页(目前最新的应该是11,向下拉可以看到8的版本)
继续,进入下载页后,根据自己的需求下载,通常32位的系统只支持32位的jdk,64位系统可以兼容32和64
也就是说,如果你是64位系统的,下载32或64的都可以!当然如果你下载了32的,后边下载的工具也要都匹配到32位才可以!
3. 下载后,安装位置默认,一路下一步,一直到安装完毕-“关闭”。
4. 环境变量配置
1 创建JAVA_HOME,值是你的刚刚jdk的安装目录,比如 C:\Program Files (x86)\Java\jdk1.8.0_101
2 创建CLASSPATH,值是 .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\tools.jar(注意最前面有一点)
3 编辑Path,把值放到最前边 %JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
5. 校验安装及配置情况
运行CMD(Win+R或右下角点开始菜单的输入处),在展开的命令行窗口中输入红框内的两条命令校验!
若展示如下,说明配置成功,若没有请检查前边的配置。(图为1.6版本,请根据自己安装的版本检查)
二、jmeter
JMeter下载官网:http://jmeter.apache.org/download_jmeter.cgi
- 首先在Jmeter官网下载一个压缩包,解压放到你自己建的文件夹路径下
- 配置环境变量:
- 1)桌面上选择“我的电脑”(右键),高级, 环境变量, 在“系统变量”--->“新建”, 在变量名中输入:JMETER_HOME,变量值中输入:D:\Program Files (x86)\apache-jmeter-2.11 (输入你刚才解压Jmeter的文件所属路径<这个是我本地的路径,我放在了D盘Program Files(x86)下面>),我的路径如下所示:
- 2)再修改CLASSPATH变量,变量值中添加:
%JMETER_HOME%\lib\ext\ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-1.2.jar;
(注:原来CLASSPATH的变量值末尾有没有;号,如果没有,先输入;号再输入上面的代码)
- 3)然后点击JMeter目录下bin文件夹里的jmeter.bat就可以打开Jmeter,具体最后打开的界面如下:
看见这个页面,就表示你的JMeter环境已经搭建好了!
三、Ant
1.ant基础环境搭建
- b. 下载后得到的是一个的压缩包,将其解压到你指定的文件夹即可,例如本人的路径为:D:\ant\apache-ant-1.9.11
- c. 配置Ant的环境变量:打开控制面板–>系统和安全–>系统–>高级系统设置–>高级–>环境变量
系统变量名 | 变量值 |
---|---|
ANT_HOME | D:\ant\apache-ant-1.9.11;(你ant解压的目录路径) |
path | D:\ant\apache-ant-1.9.11/lib; |
classpath | D:\ant\apache-ant-1.9.11/bin; |
释:新建系统变量:ANT_HOME,填入变量值:D:\ant\apache-ant-1.9.11(你ant解压的目录路径)
编辑path,在末尾添加变量值:D:\ant\apache-ant-1.9.11/lib;(你ant解压的目录路径)
编辑classpath,在末尾添加变量值:D:\ant\apache-ant-1.9.11/bin;(你ant解压的目录路径)
注:有些小伙伴会用相对路径配置环境变量,例:%ANT_HOME%;楼主使用过,但是用命令行检索时,检索不出正确安装的显示结果,所以建议还是使用绝对路径
打开命令行,输入:ant -version
【见到图中显示结果说明ant安装成功!因为ant默认运行build.xml文件,这个文件需要我们建立 <build文件我会在下面说明>】
2. ant 和Jmeter整合,并且生成jtl、Html报告:
- (1)jmeter默认保存的是.csv格式的文件,所以我们先要设置一下bin/jmeter.properties文件内容,修改jmeter.properties文件 jmeter.save.saveservice.output_format=xml.
- (2)将apache-jmeter-3.2\extras\ant-jmeter-1.1.1.jar拷贝到apache-ant-1.9.11\lib目录下.
- (3)在\apache-jmeter-3.2\extras目录下打开CMD,运行"ant.bat -file build.xml -Dtest=Test" . 查看\apache-jmeter-3.\extras目录下是否出现Test.jtl、Test.html文件,若有,则构建成功。注意:Test.jmx是默认存在的Sample脚本文件.
- (4)若构建失败,请分析cmd打印的日志消息,定位问题.
build文件(手动新建):
build文件内容如下:
<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
<!-- <tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp> -->
<tstamp> <format property="report.datestamp" pattern="yyyy-MM-dd-hh-mm" /></tstamp>
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="D:\apache-jmeter-3.0" />
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="D:\AutoTestFolder\SepJmeter\slot1\results" />
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="D:\AutoTestFolder\SepJmeter\slot1\results" />
<!-- 生成的报告的前缀-->
<property name="ReportName" value="TestReport_" />
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${report.datestamp}.jtl" />
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/TestReport.html" />
<property name="jmeter.result.debugReport.htmlName" value="${jmeter.result.html.dir}/TestReport_debugReport.html" />
<property name="report.title" value="播放鉴权接口"/>
<target name="run">
<antcall target="test" />
<antcall target="report" />
<antcall target="debugReport" />
</target>
<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
<testplans dir="D:\AutoTestFolder\SepJmeter\slot1" 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">
<!-- <tstamp>
<format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" />
</tstamp> -->
<xslt
classpathref="xslt.classpath"
force="true"
in="${jmeter.result.jtlName}"
out="${jmeter.result.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
<param name="dateReport" expression="${report.datestamp}"/>
</xslt>
<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
<copy todir="${jmeter.result.html.dir}">
<fileset dir="${jmeter.home}/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>
<target name="debugReport">
<xslt
classpathref="xslt.classpath"
force="true"
in="${jmeter.result.jtlName}"
out="${jmeter.result.debugReport.htmlName}"
style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">
<param name="dateReport" expression="${report.datestamp}"/>
</xslt>
</target>
</project>
四、Tomcat
- 配置Tomcat环境
tomcat 是针对 Java 的一个开源中间件服务器(容器),基于 Java Web 的项目需要借助 tomcat 才能运行起来
- (1)下载Tomcat选择合适的版本
Tomcat官方网站: http://tomcat.apache.org/
- (2)解压此文件,对下载的压缩包进行解压,目录结构如下:
- (3)配置环境变量
a: 添加环境变量 CATALINA_HOME
CATALINA_HOME=D:\ProgramFiles\apache-tomcat-9.0.30
b: 在path中增加下面3项
Path=%CATALINA_HOME%\lib
%CATALINA_HOME%\lib\servlet-api.jar
%CATALINA_HOME%\lib\jsp-api.jar
- (4)添加用户
进入tomcat的目录的conf,我这里的路径是D:\ProgramFiles\apache-tomcat-9.0.0.M26\conf,
选择“tomcat-users.xml”文件,打开文件后在最后 一行代码的前面添加如下代码,添加完成后,保存再退出。
<role rolename="manager-gui"/>
<role rolename="admin-gui"/>
<user username="admin" password="admin" roles="admin-gui"/>
<user username="tomcat" password="admin" roles="manager-gui"/>
- (5)启动tomcat:
打开tomcat目录下的bin 文件夹,再双击startup来启动tomcat,启动成功会显示 start Server startup in 8352 ms,运行成功,我们通过localhost:8080可以访问到tomcat主页,8080为默认端口,根据实际情况添加端口
参考:https://www.cnblogs.com/limn/p/9358657.html
五、Jenkins
(1)下载Jenkins
官方网站:http://jenkins-ci.org/
(2)安装Jenkins
点击安装程序,直接点击next 我们直接将其安装到 tomcat 的 webapps\jenkins目录下。
例:D:\apache-tomcat-8.5.31\webapps\jenkins
(3)运行Jenkins
进入 tomcat 的 bin/目录下启动 startup.bat :
通过浏览器访问:http://localhost:8080/,得到:
(楼主这是有注册了帐号显示的界面,如果第一次登陆的用户参考下创建步骤:https://jingyan.baidu.com/article/cbcede077f62bf02f40b4de2.html)
到这里整套环境就搭建完成了,可以自行构建测试是否达到预期.
(4)遇到的问题:
1.如果在运行过程中这个问题:
report:
[xslt] Processing D:\Tools\apache-jmeter-2.13\demo\report\jtl\TestReport201805300923.jtl to D:\Tools\apache-jmeter-2.13\demo\report\html\TestReport201805300923.html
[xslt] Loading stylesheet D:\Tools\apache-jmeter-2.13\extras\jmeter-results-detail-report_21.xsl
[xslt] : Error! 前言中不允许有内容。
[xslt] : Error! com.sun.org.apache.xml.internal.utils.WrappedRuntimeException: 前言中不允许有内容。
[xslt] Failed to process D:\Tools\apache-jmeter-2.13\demo\report\jtl\TestReport201805300923.jtl
解决办法:在build.xml文件的jmeter标签中添加这么一句话:
<property name="jmeter.save.saveservice.output_format" value="xml"/>
2. 测试报告中三个指标为NaN
解决办法:需要从Jmeter的lib包里把xalan-2.7.2.jar和serializer-2.7.2.jar copy到Ant的lib包里
3. taskdef class org.programmerplanet.ant.taskdefs.jmeter.JMeterTask cannot be found using the classloader AntClassLoader[]
解决办法:将JMeter所在目录下的extras子目录里面的ant-JMeter-1.1.1.jar复制到Ant所在目录lib子目录下