jmeter实战:jmeter+ant+jenkins轻量级接口自动化测试(windows)
Posted 说笑谈古松
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jmeter实战:jmeter+ant+jenkins轻量级接口自动化测试(windows)相关的知识,希望对你有一定的参考价值。
杀猪不用牛刀,工具没有牛逼高大尚之分,每个工具都有存在的理由;关键是看会不会用,怎么用,有没有用在合适的地方。需要安装的工具:
jdk1.8
Jmeter4.0
ant1.9(蚂蚁)
jenkins2.1(詹金斯)
1、环境配置
1、windows安装jdk:https://blog.csdn.net/qq_40468470/article/details/116940914
2、Windowsan安装jmeter:可以自己取下载一个无需安装的jmeter。但是需要配置一下环境变量:
在系统变量中添加俩个属性
① JMETER_HOME=D:\\apache-jmetes\\apache-jmeter-4.0 (就是jmeter保存的路径)
② CLASSPATH=%JMETER_HOME%\\lib\\ext\\ApacheJMeter_core.jar; %JMETER_HOME%\\lib\\jorphan.jar;
(这个复制上去就ok) CLASSPATH变量如果存在就直接在后面加变量,如果没有就新建一个,注意每个变量 ; 隔开
( 3 ) 在用系统变量path后面加上 ;%JMETER_HOME%\\bin 注意是系统变量
3、windows安装tomcat:https://blog.csdn.net/qq_40468470/article/details/117824576
4、windows安装ant:https://blog.csdn.net/qq_40468470/article/details/117825203
5、Windows配置jenkins:https://blog.csdn.net/qq_40468470/article/details/117825441
以上环境全部安装好,检查都ok。
到这里,也可以用ant去运行jmeter脚本了,只不过没实现自动化-----------
步骤:
1、在任意位置新建一个testcases文件夹,(注意:文件夹的位置路径中建议不要有中文目录)
2、在testcases文件夹下新建一个cases文件夹存放线程组,(这时你就可以放一个正确地线程组在里面,用于接下来的演示)
3、在testcases文件夹下新建一个report文件夹,文件夹下再分别新建一个jtl文件夹存放日志报告,新建一个html文件夹存放运行报告。
4、将JMeter所在目录下extras子目录里的ant-JMeter-1.1.1.jar复制到Ant所在目录lib子目录之下。
5、修改jmeter目录下的bin/jmeter.properties,找到
jmeter.save.saveservice.output_format,去掉注释并设置为xml。
用notepad++打开:
6、在testcases文件夹新建一个build.xml文件,输入以下内容(需要修改的地方后面我都会注释+重要哦,一共五处):
<?xml version="1.0" encoding="utf-8"?>
<project name="jmeter_test" default="all" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>
<!-- 需要改成自己本地的 Jmeter 目录-->
<property name="jmeter.home" value="E:\\ouyang_study\\接口测试\\一\\apache-jmeter-5.2" />#重要
<!-- jmeter生成jtl格式的结果报告的路径-->
<property name="jmeter.result.jtl.dir" value="E:\\ouyang_study\\接口测试\\一\\apache-jmeter-5.2\\result\\jtl" />#重要
<!-- jmeter生成html格式的结果报告的路径-->
<property name="jmeter.result.html.dir" value="E:\\ouyang_study\\接口测试\\一\\apache-jmeter-5.2\\result\\html" />#重要
<!-- 生成的报告的前缀 -->
<property name="ReportName" value="TestReport_whweia" />
<!-- 生成各种文件-->
<!--<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}.jtl" />-->
<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
<!-- <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}.html" />-->
<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
<!-- 接收测试报告的邮箱 -->
<!-- <property name="mail_to" value="whweia@vip.qq.com" />-->
<!-- 电脑地址 -->
<!-- <property name="ComputerName" value="xiaoqiang" />-->
<!-- 解决不显示 Min/Max 统计时间的问题。同时把下面的两个jar文件copy到ant的lib包中-->
<path id="xslt.classpath">
<fileset dir="${jmeter.home}/lib" includes="xalan-2.7.1.jar"/>
<fileset dir="${jmeter.home}/lib" includes="serializer-2.7.1.jar"/>
</path>
<target name="all">
<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}">
<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本 -->
<testplans dir="D:\\testcases\\cases" includes="*.jmx" />#重要 你的文件路径
</jmeter>
</target>
<!-- jmeter-results-detail-report_21.xsl or jmeter.results.shanhe.me.xsl-->
<target name="report">
<!-- 解决不显示时间的问题-->
<tstamp> <format property="report.datestamp" pattern="yyyy/MM/dd HH:mm" /></tstamp>
<xslt in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}" style="${jmeter.home}/extras/jmeter.results.shanhe.me.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>
</project>
第五个重要的内容是jmeter-results-detail-report_21.xsl:
7、查看结果,那么现在就可以运行ant试试了
那么怎么运行呢:
到刚才本地新建的文件夹下运行ant
输入cmd回车
看到成功了 就是ok了
在这里打开报告:
8、那么不想手动 想自动化运行,怎么办。。就用jenkins-------
前面我在浏览器的地址栏输入:http://127.0.0.1:8080/jenkins 或者 http://localhost:8080/jenkins 已经进入了jenkins的初始界面,稍等加载一下就会出现下面的场景:
windows中有时是一个地址,cmd无法到达,可以在文件夹中自己找,最后的initialAdminPassword文件中就存放着密码。
填写账号资料后进入下面场景:
选择安装推荐的插件。
账号密码自己设置,要记住。登录进来后是这个样子。
9、新建自由风格的项目
确认后:
注意点:
点击保存之后,继续配置测试报告
如果没有安装推荐的插件在这里需要下载一个插件Public HTML reports
系统管理----》管理插件----》可选插件 输入HTML Publisher 进行查询并进行安装
接下来继续配置报告:
选择报告生成地址(前面的build.xml已经有生成位置了,这不可以省略):
接下来的才是重点(设置自动执行时间):
日程表填写内容:
每隔5分钟构建一次
H/5 * * * *
每两小时构建一次
H H/2 * * *
每天中午12点定时构建一次
H 12 * * *
每天下午18点定时构建一次
H 18 * * *
在每个小时的前半个小时内的每10分钟
H(0-29)/10 * * * *
每两小时45分钟,从上午9:45开始,每天下午3:45结束
45 9-16/2 * * 1-5
每两小时一次,每个工作日上午9点到下午5点(也许是上午10:38,下午12:38,下午2:38,下午4:38)
H H(9-16)/2 * * 1-5
点击保存之后:
查看构建情况:
如果你填写了构建后操作的内容那就可以在下面这个位置查看报告:
没有的话你可以在你新建的testcases\\report\\html目录下查看报告:
知识补充:
my-views里的操作:
生成的报告样式:
以上是关于jmeter实战:jmeter+ant+jenkins轻量级接口自动化测试(windows)的主要内容,如果未能解决你的问题,请参考以下文章
此处有干货~jmeter+ant+jenkins持续集成配置及过程中问题解决思路