首页 > 其他分享 >jmeter+ant+jenkins接口自动化持续集成

jmeter+ant+jenkins接口自动化持续集成

时间:2022-12-26 17:23:38浏览次数:56  
标签:xml 测试报告 demo ant html jenkins jmeter

JMETER+ANT+JENKINS接口自动化持续集成

一、在win10环境下安装jdk、jmeter、ant、jenkins
  1. jdk安装参考:https://www.cnblogs.com/lc-blogs/p/17005044.html
  2. jmeter安装参考:https://www.cnblogs.com/lc-blogs/p/16996075.html
  3. ant安装参考:https://www.cnblogs.com/lc-blogs/p/17000821.html
  4. jenkins安装参考:https://www.cnblogs.com/lc-blogs/p/17005446.html

二、配置ant
  1. 将 jmeter 所在目录下 extras 子目录里的 ant-JMeter-1.1.1.jar 复制到 Ant 所在目录 lib 子目录之下,这样 Ant 运行时才能找到"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,从而成功触发 JMeter 脚本

  2. jmeter 默认保存的是.csv 格式的文件,所以我们先要设置一下 bin/jmeter.properties 文件内容,保存jmeter.save.saveservice.output_format=xml

  3. 创建一个文件夹(此处命名为demo),demo下创建一个report文件夹用来存放测试报告html和jtl文件的目录(创建的目录在生成测试报告需要用到)
    D:\acan\demo\report\html
    D:\acan\demo\report\jtl

  4. 新建build.xml文件存放在demo的文件夹下,并修改文档里内容

<?xml version="1.0" encoding="UTF-8"?>
<project name="ant-jmeter-test" default="run" basedir=".">
	<tstamp>
		<format property="time" pattern="yyyyMMddHHmm" />
	</tstamp>
	<!-- 需要改成自己本地的Jmeter目录-->
	<property name="jmeter.home" value="D:\apache-jmeter-5.3" />
	<!-- jmeter生成jtl格式的结果报告的路径-->
	<property name="jmeter.result.jtl.dir" value="D:\acan\demo\report\jtl" />
	<!-- jmeter生成html格式的结果报告的路径-->
	<property name="jmeter.result.html.dir" value="D:\acan\demo\report\html" />
	<!-- 生成的报告的前缀-->
	<property name="ReportName" value="TestReport" />
	<property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${ReportName}${time}.jtl" />
	<property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${ReportName}${time}.html" />
	<!-- 输出生成的报告名称和存放路径-->
	<echo message="${jmeter.result.jtlName}"/>
	<echo message="${jmeter.result.htmlName}"/>
	<echo message="${jmeter.result.html.dir}"/>

	<target name="run">
		<antcall target="test"/>
		<antcall target="report"/>
	</target>
	<!-- 指定ant-jmeter-1.1.1.jar 的位置 -->
	<path id="jmeter.classpath">
		<fileset dir="${jmeter.home}/extras">
			<include name="ant-jmeter-1.1.1.jar"/>
		</fileset>

	</path>
	<!--加载jar包,解决显示时间问题-->
	<path id="xslt.classpath">
		<fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>
		<fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>
	</path>

	<target name="test">
		<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
		<jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}">
			<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本,比如test*.jmx表示以test开头的所有.jmx文件-->
			<testplans dir="D:\acan\demo" includes="*.jmx" />
			<!-- 声明ant执行jmeter时,传入jmeter的属性值,可以自定义必须是xml格式 -->
			<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">
			<!--jmeter-results-detail-report_21.xsl这里的文件名可以换成你想要的报告效果-->
			<!--显示dateReport的时间-->
			<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>

5. 标记的地方修改为自己的路径,其余不需要修改

image

  1. 验证配置的结果是否成功,把jmeter编写的jmx文件放到demo文件夹下,在demo文件下打开cmd窗口,输入ant,生成结果如下则表示配置成功,BUILD SUCCESSFUL
    image

在D:\acan\demo\report\html的文件夹中生成了html测试报告

image

三、配置jenkins
  1. 安装插件 HTML Publisher Plugin、email extension plugin(可选)、performance plugin

image


搜索插件,安装
image


2. 全局配置中创建ant 1)进入Manage Jenkins全局设置

image
2)Ant安装点击新增Ant
image
3)输入自定义的ant名称,ANT_HOME输入在本机中ant的安装路径,点击保存
image


3. 新建job 1)创建一个任务

image


2)输入任务的名称,选择Freestyle project,点击确定

image


3)勾选构建环境Add timestamps to the Console Output,将时间在控制台输出

构建下的选项Ant Version填写配置ant定义的ant名称,Targets填写build.xml中定义的run

image


build.xml中定义的target为run,所以上方Targets填写的run

image


高级中配置build.xml的路径

image


Build File填写build.xml在本机中存放路径

image

4)增加构建后的步骤Publish HTML reports,生成测试报告
image

点击新增按钮
image

填写本机创建的html报告存放地址
image

配置完成之后点击保存


5)点击按钮进行构建

image


在构建历史中查看构建结果

image


控制台结果中看到BUILD SUCCESSFUL表示生成测试报告成功

image


6)查看生成的测试报告

image

标签:xml,测试报告,demo,ant,html,jenkins,jmeter
From: https://www.cnblogs.com/lc-blogs/p/17006244.html

相关文章

  • JMeter性能测试
    JMeter性能测试影响性能测试指标:响应时间、用户并发数、吞吐量、系统性能计数器、思考时间多:用户并发数快:响应时间好:稳定性省:资源使用率文档+fiddle录制脚本方法:1.......
  • jenkins使用说明
    配置gitlab自动触发jenkins构建(这里每个处室项目会提前配好不用动)这里以我新建一个jenkins流水线javacode-jenkins-sonar(顾名思义这里以Java代码为测试对象演示后面操作)为例......
  • Jenkins的安装与配置(win10)
    Jenkins是一个基于Java开发的开源的一种持续集成工具,主要用于环境部署,监控重复性的工作,旨在提供一个开放易用的软件平台,使软件项目可以进行持续集成。要想使用它,你就必须的......
  • 基于 Ant Design Vue实现tree的增删改
    背景:在维护的项目是基于AntDesignVue框架实现的,需求是新建时,前端需要将树形结构维护完成后,一次性调用接口进行下发,在网上找了半天资料,要不源码不全,要不就是增删改后实......
  • ReentrantLock Condition await signal 专题
     Condition的执行方式,是当在线程T1中调用await方法后,线程T1将释放锁,并且将自己阻塞,等待唤醒,线程T2获取到锁后,开始做事,完毕后,调用Condition的signal方法,唤醒线程T1,在t2执行......
  • Manthan, Codefest 19 (open for everyone, rated, Div. 1 + Div. 2) D
    D.RestorePermutation题链不难看出我们应该从后往前做我们设t[i]=i*(i-1)/2最后一个i肯定能在t数组直接找到比如我们找到了是3那么要是我们下一个是5我们就要把这个......
  • Jenkins 部署
     1 修改jenkins的根目录,默认地在C:\DocumentsandSettings\AAA\.jenkins。.jenkins├─jobs│ └─JavaHelloWorld│     ├─builds│     │ ├─20......
  • AT_pakencamp_2021_day2_c Participants 3 题解
    题目传送门题目大意找出没有参加第\(1\)天的比赛,但是参加了第\(2\)天的比赛人的ID。解题思路从第一次比赛人员的ID中,查找是不是没有有第二次比赛人员的ID。如......
  • gcc –pedantic warning.c –o warning
    gcc–pedanticwarning.c–owarning warning.c:在函数“main”中:warning.c:5警告:ISOC90不支持“longlong”warning.c:7警告:在无返回值的函数中,“return”带返......
  • AT_pakencamp_2021_day2_a Participants 2 翻译
    题目传送门题目描述将帕研2021集训的参加人数定义为“集训第一天开始时进入帕研2021集训Discord服务器的人数”时,这个数是多少?输入格式这个问题没有输入。输出......