Jmeter+Ant+Jenkins --接口自动化实现

不羁的心 提交于 2020-10-04 15:47:44

1.安装Jmeter

1.1 JDK 安装

笔者提供:
https://pan.baidu.com/s/1GJO_9OJN6FRoFqqOrbLvjA 提取码:8dkK

官方下载地址:
https://www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html
相关环境设置,在这里不做赘述

1.2 Jmeter 安装

下载地址: http://jmeter.apache.org/download_jmeter.cgi

在这里插入图片描述
下载后解压即可使用,详细环境设置在这里不做赘述,可百度Jmerter安装查看相关说明

安装ANT

下载地址:

http://ant.apache.org/bindownload.cgi

下载后解压到指定位置即可,如:
在这里插入图片描述

环境变量配置(window)

新增 ANT_HOME 变量添加:D:\apache-ant-1.10.3

Path 变量中添加:%ANT_HOME%\bin

classpath 变量中添加: %ANT_HOME%\bin

注意:变量之间用;分割

安装验证

在命令行输入 ant -v 出现对应版本信息则已安装成功

在这里插入图片描述
注意:环境配置中如果设置成:path:%ANT_HOME%\bin (为了方便在dos环境下操作),如果环境配置不成功,需要把地址换成为 D:\apache-ant-1.10.3\bin,按cmd进入命令窗口,再输入命令

Jmeter 脚本

在Jmeter 目录下创建一个存放Jmeter 脚本的文件夹
如图:

在这里插入图片描述

ANT +Jmeter

将jmeter extras目录下的ant-jmeter-1.1.1.jar 文件
拷贝到ant安装目录下的lib文件夹中,如图:

在这里插入图片描述

配置ANT 与Jmeter 的配置文件
配置ant 的编译文件 build.xml
在保存脚本的目录下,拷贝下面的内容到新建的 **.txt**文件中,并将此文件改名为:**build.xml**
<?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:\jmeter\apache-jmeter-4.0\apache-jmeter-4.0" />
	<!-- jmeter生成jtl格式的结果报告的路径-->
	<property name="jmeter.result.jtl.dir" value="D:\jmeter\apache-jmeter-4.0\apache-jmeter-4.0\ResultReport\jtl" />
	<!-- jmeter生成html格式的结果报告的路径-->
	<property name="jmeter.result.html.dir" value="D:\jmeter\apache-jmeter-4.0\apache-jmeter-4.0\ResultReport\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}.html" />
 
	<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}">
			<!-- 声明要运行的脚本。"*.jmx"指包含此目录下的所有jmeter脚本-->
			<testplans dir="D:\jmeter\apache-jmeter-4.0\apache-jmeter-4.0\backups" 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" />
 
		<!-- 因为上面生成报告的时候,不会将相关的图片也一起拷贝至目标目录,所以,需要手动拷贝 -->
		<copy todir="${jmeter.result.html.dir}">
			<fileset dir="${jmeter.home}/extras">
				<include name="collapse.png" />
				<include name="expand.png" />
			</fileset>
		</copy>
	</target>
 
</project>
				



在这里插入图片描述
如图,在Jmeter的脚本存放同级目录,创建一个build.xml文件,并将上面的代码内容,放入文件内,相应的路径针对自己的文件路径进行修改, 参照下图:

在这里插入图片描述
修改后的图:

在这里插入图片描述

注意:

1. 生成报告路径,ResultReport可以不用创建,如果创建了必须保证文件夹中为空

2. 建议路径地址最好不要使用中文,避免使用的时候出现问题

3. 如果避免文件覆盖,需要保留测试报告,可以修改文件成以下示例
在这里插入图片描述

配置jmeter.properties

配置jmeter报告输出格式为xml

在jmeter安装目录bin目录下jmeter.properties文件中修改jmeter.save.saveservice.output_format=csv 为 jmeter.save.saveservice.output_format=xml,并去掉前面的注释符号#
在这里插入图片描述
在这里插入图片描述

验证配置,执行构建测试

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

根据上面的成功提示,进入我们存放报告的路径下查看测试结果报告:
在这里插入图片描述

生成的HTML报告如下:
在这里插入图片描述
我的报告模板已经做过优化替换
在这里插入图片描述


下面我们对Jmeter自带的测试报告做优化替换,当然应该还有更多的模板可以选用,笔者这里不做赘述

在这里插入图片描述

在这里插入图片描述

jmeter.save.saveservice.data_type=true
jmeter.save.saveservice.label=true
jmeter.save.saveservice.response_code=true
# response_data is not currently supported for CSV output
jmeter.save.saveservice.response_data=true
# Save ResponseData for failed samples
jmeter.save.saveservice.response_data.on_error=false
jmeter.save.saveservice.response_message=true
jmeter.save.saveservice.successful=true
jmeter.save.saveservice.thread_name=true
jmeter.save.saveservice.time=true
jmeter.save.saveservice.subresults=true
jmeter.save.saveservice.assertions=true
jmeter.save.saveservice.latency=true
jmeter.save.saveservice.connect_time=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.responseHeaders=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.encoding=false
jmeter.save.saveservice.bytes=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.filename=true
jmeter.save.saveservice.hostname=true
jmeter.save.saveservice.thread_counts=true
jmeter.save.saveservice.sample_count=true
jmeter.save.saveservice.idle_time=true

设置重启Jmeter后生效,然后去Jmeter创建的buildx.xml文件修改报告模板,在前文提及过

在这里插入图片描述

设置完毕后,可以再试一下,在创建的build.xml 目录下,在地址栏输入cmd 打开命令窗口,输入ant run ,完成构建后,到对应的报告生成文件夹查看报告。

Jenkins的安装和相关配置

下载地址:
https://www.jenkins.io/download/

在这里插入图片描述
插件安装: (已安装 请忽略)

运行ant需要插件:Ant Plugin、Ant In Workspace

HTML测试报告插件:HTML Publisher Plugin、Performance plugin

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

jenkins 环境设置

在这里插入图片描述
在这里插入图片描述

创建项目(自动测试配置)

1.创建项目
在这里插入图片描述

2.设置丢弃旧的构建
在这里插入图片描述
3.构建触发器
每隔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
在这里插入图片描述
4.配置构建
在这里插入图片描述
在这里插入图片描述













5.设置构建后操作
设置HTML Publisher 配置信息,方便在jenkins中查看html测试报告
在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

6.邮件发送设置
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述



测试集成

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
最后自带的接口性能报告如下
在这里插入图片描述



易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!