JMeter+Ant+Jenkins接口自动化测试框架

news/2025/2/13 21:55:25/

一:简介

大致思路:Jmeter可以做接口测试,也能做压力测试,而且是开源软件;Ant是基于Java的构建工具,完成脚本执行并收集结果生成报告,可以跨平台,Jenkins是持续集成工具。将这三者结合起来可以搭建一套Web HTTP接口测试的持续构建环境,实现接口自动化测试,pc系统是Windows。

视频教程:

b站2023年全网最牛最全面的接口测试教程 jmeter接口测试

二:jmeter+JDK安装

JDK的安装及环境变量配置

JDK的下载安装

JDK官网下载地址:Java Downloads | Oracle

 然后注册账号,开始下载,下载好后直接点击一路默认安装!!!

安装后路径

JDK系统环境变量的配置

右键计算机属性->高级系统设置->系统属性->高级->环境变量->添加如下的系统变量#

JAVA_HOME(新建)

  • 变量名:JAVA_HOME
    变量值:C:\develop\Java\jdk1.8.0_191
    用途:定义一个变量,供其他地方使用

Path#

  • 变量名:Path
    变量值:%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
    用途:让系统在任何路径下都可以识别java、javac、javap等命令

CLASSPATH(新建)

  • 变量名:CLASSPATH

          变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar(记住前面的.)

     用途:告诉jvm要使用或执行的class放在什么路径上,便于JVM加载class文件,.;表示当前路径,tools.jar和dt.jar为类库路径

运行cmd,在窗口中使用Java -version或者Java 或者javac可以验证JDK是否安装成功

CLASSPATH详解

  • tools.jar

工具类库(编译和运行等),它跟我们程序中用到的基础类库没有关系。我们注意到在Path中变量值bin目录下的各个exe工具的大小都很小,一般都在27KB左右,这是因为它们实际上仅仅相当于是一层代码的包装,这些工具的实现所要用到的类库都在tools.jar中,用压缩软件打开tools.jar,你会发现有很多文件是和bin目录下的exe工具相对性的。当然,如果tools.jar的功能只有这些的话,那么我们根本不用把它加入到CLASSPATH变量中,因为bin目录下的工具自己可以完成对这些类库的调用,因此tools.jar应该还有其他的功能。在里面还可以看到有Applet和RMI等相关的文件,因此tools.jar应该还是远程调用等必须的jar包。tools.jar的其他作用可以查看其他资料。

  • dt.jar

运行环境类库,主要是Swing包,这一点通过用压缩软件打开dt.jar也可以看到。如果在开发时候没有用到Swing包,那么可以不用将dt.jar添加到CLASSPATH变量中。

CLASSPATH中的类库是由Application ClassLoader或者我们自定义的类加载器来加载的,这里当然不能包括基础类库,如果包括基础类库的话,并用两个不同的自定义类加载器去加载该基础类,那它得到的该基础类就不是唯一的了,这样便不能保证Java类的安全性。

  • 基本类库和扩展类库rt.jar

基本类库是所有的 import java.* 开头的类,在 %JAVA_HOME%\jre\lib 目录下(如其中的 rt.jar、resource.jar ),类加载机制提到,该目录下的类会由 Bootstrap ClassLoader 自动加载,并通过亲委派模型保证了基础类库只会被Bootstrap ClassLoader加载,这也就保证了基础类的唯一性。

扩展类库是所有的 import javax.* 开头的类,在 %JAVA_HOME%\jre\lib\ext 目录下,该目录下的类是由Extension ClassLoader 自动加载,不需要我们指定。

rt.jar 默认就在根ClassLoader的加载路径里面,放在CLASSPATH也是多此一举。

步骤1 

步骤2

步骤3

步骤4

步骤5

jmeter的安装及环境变量配置

jmeter下载和安装

jmeter官网下载地址:Apache JMeter - Download Apache JMeter

 解压后的路径

jmeter系统环境变量配置

同上,右键计算机属性->高级系统设置->系统属性->高级->环境变量->添加如下的系统变量#

JMETER_HOME(新建)

  • 变量名:JMETER_HOME
    变量值:D:\apache-jmeter-5.4.3
    用途:定义一个变量,供其他地方使用

CLASSPATH#

  • 变量名:CLASSPATH

          变量值:;%JMETER_HOME%\lib\ext \ApacheJMeter_core.jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib \logkit-1.2.jar;

     用途:告诉jvm要使用或执行的class放在什么路径上,便于JVM加载class文件(中间用英文 ; 隔开)

打开JMeter

步骤1(同上

步骤2

步骤3

在这里有一点需要注意,在我的安装目录中并没有找到lib\logkit-1.2.jar这个jar包,所以,在这里需要自行下载一个jar包到lib目录下。下载地址:logkit « l « Jar File Download。

 别忘了解压到JMeter的lib目录下哦

步骤4

打开bin目录下的JMeter的bat文件,即可运行打开JMeter

三:Ant下载/安装

下载安装包到指定位置,然后解压apache-ant-1.10.7.zip到当前目录。(下载地址Apache Ant - Binary Distributions)

配置Ant环境变量

1).新建ANT_HOME:值为Ant安装路径(如解压后的:D:\jmeter\jmeter-ant\apache-ant-1.10.7)
2).PATH系统变量后添加:%ANT_HOME%\bin
3).CLASSPATH系统变量中添加:%ANT_HOME%\lib

设置完成保存 ,进入cmd窗口,输入ant -v,出现版本信息则安装成功

Ant配置JMeter,使用ant构建运行Jmeter,并且生成jtl,html报告
1).将jmeter extras目录下的ant-jmeter-1.1.1.jar文件拷贝到ant安装目录下的lib文件夹中。
2).jmeter默认保存的.csv格式的文件,所以我们要修改jmeter/bin/jmeter.properties文件内容 ,把jmeter.save.saveservice.output_format=csv 修改为jmeter.save.saveservice.output_format=xml,并去掉前面的注释符号#


优化测试报告下载优化模板,下载jmeter-results-shanhe-me.xsl,并放到jmeter的extras目录中(下载地址:jmeter.results.shanhe.me.xsl)
修改jmeter/bin/jmeter.properties文件,设置需要输出的内容为true,并去掉前面的注释符号#,保存。这样执行完脚本后就会保存这些结果到.jtl文件里面(增加测试报告内容)

#
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=true
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
# Only available with HttpClient4
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=true
jmeter.save.saveservice.bytes=true
# Only available with HttpClient4
jmeter.save.saveservice.sent_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

3).在任意地方新建文件夹,然后在文件夹下分别新建新建jmeter_report文件夹,script文件夹,build.xml文件
(配置ant的编译文件build.xml(注意:jmeter的extras文件下也有个build.xml文档,不要用这个文档来改,是两回事,这里的build文档是自己新建)


4).新建build.xml文件,并修改文档里内容

<?xml version="1.0" encoding="utf8"?>
<project name="ant-jmeter-test" default="run" basedir="."><tstamp><format property="time" pattern="yyyyMMddHHmm" /></tstamp><!-- 需要改成自己本地的jmeter目录--><property name="jmeter.home" value="D:\jmeter_ant\apache-jmeter-5.4.3" /><!-- jmeter生成的jtl格式的结果报告的路径--><property name="jmeter.result.jtl.dir" value="D:\jmeter_testcase\jmeter_report\jtl" /><!-- jmeter生成的html格式的结果报告的路径--><property name="jmeter.result.html.dir" value="D:\jmeter_testcase\jmeter_report\html" /><!-- ʺ生成的报告的前缀--><property name="ReportName" value="TestReport_" /><property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/TestReport_${time}.jtl" /><property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${time}_SummaryReport.html" /><property name="jmeter.detail.result.jtlName" value="${jmeter.result.jtl.dir}/TestReport_${time}.jtl" /><property name="jmeter.detail.result.htmlName" value="${jmeter.result.html.dir}/${time}_DetailReport.html" /><target name="run"><antcall target="test" /><antcall target="report" /><!--<antcall target="sendmail" />--></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_testcase\script" 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.detail.result.jtlName}" out="${jmeter.detail.result.htmlName}" style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl"><param name="dateReport" expression="${report.datestamp}"/></xslt><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="sendmail">  
<mail mailhost="smtp.exmail.qq.com" mailport="465" ssl="true" user="123456@jieshunpay.cn" password="GHtMMpSB5xpytzyM" subject="预付卡前置接口测试报告" from="qinliang.cai@jieshunpay.cn">  
<to address="123456@jieshunpay.cn"/>  
<message>详细报告请查看附件</message>  
<attachments>  
<fileset dir="${jmeter.result.html.dir}">   
<include name="${ReportName}${time}.html"/>  
</fileset>   
</attachments>  
</mail>  
</target>  -->
</project>

验证配置

将之前的Jmeter的脚本,与build.xml配置文件放在相同的目录下 。在build.xml所在目录打开命令窗口(鼠标在空白处按下shift键后在右键)或者命令行cd到build.xml文件所在目录,输入ant run回车,执行测试

查看测试报告


总报告

明细报告

四:安装Jenkins并配置,构建持续集成

介绍:Jenkins是一个开源的软件项目,是基于Java开发的一种持续集成工具,用于监控持续重复的工作,使软件的持续集成变成可能。
1).下载Jenkins安装包,下载地址:Jenkins download and deployment(安装Jenkins前确保您的电脑已经配置好JDK)


2).下载好的jenkins.msi 双击安装(傻瓜式)
3).安装好后,会自动打开浏览器 并打开地址:localhost:8080
4).按照提示的路径输入密码

5).选择插件安装,也可手动安装。主要是安装HTML Publisher PluginAnt In Workspace
6).安装完插件后,创建新用户

7).在Jenkins中系统管理-系统设置中,配置jdk 和 Ant.


8).新建一个项目





脚本配置完成,点击应用。
进入项目主页,点击构建,生成报告

 

b站2023年全网最牛最全面的接口测试教程 jmeter接口测试


http://www.ppmy.cn/news/6020.html

相关文章

扫雷游戏的设计(百分百还原电脑操作)

目录 &#x1f332;了解扫雷游戏的作用原理并梳理思路 &#x1f332;扫雷游戏前期部分完善 &#x1f337;文件的创建 &#x1f337;创建菜单&#xff0c;完善主函数 &#x1f333;代码呈现&#xff1a; &#x1f332;扫雷游戏主题内容 &#x1f334;第一步初始化棋盘 &#x1…

蓝牙耳机什么牌子好?音质好、配置高的蓝牙耳机分享

​经常听到很多网友在讨论哪些蓝牙耳机好用&#xff0c;什么蓝牙耳机的配置高......选购蓝牙耳机无非就是音质、蓝牙技术、续航、佩戴体验等各方面条件&#xff0c;还有哪位朋友不知道该如何选购蓝牙耳机的&#xff1f;根据我对蓝牙耳机的了解&#xff0c;从网上整理了好几款蓝…

5.Linux文件管理命令---cp复制文件

文章目录Linux文件管理命令cp&#xff1a;复制文件示例介绍&#xff1a;Linux文件管理命令 cp&#xff1a;复制文件 作用&#xff1a;文件或目录的复制。 用法&#xff1a;cp [选项]… [-T] 源文件 目标文件 cp [选项]… 源文件… 目录 cp [选项]… -t 目录 源文件… 将<源…

熬不过“冬天”,又一跨境电商平台关停

熬不过“冬天”&#xff01;又一跨境电商平台关停据相关媒体报道&#xff0c;京东旗下跨境电商服务平台Joybuy于2022年11月4日宣布将进行“业务升级”&#xff0c;而后该平台的所有交易活动已经停止。据Egain News报道&#xff0c;“业务升级”的说法很大可能只是关停的一种“委…

MySQL数据库的安装、创建库、创建表、创建测试数据及连接取数

安装MySQL数据库MySQL数据库简介安装MySQL数据库下载安装包安装MySQLMySQL创建一个新的数据库&#xff0c;并在其中创建新的数据表&#xff0c;填充测试数据并查看mysql>模式下输入的每句sql语句都要以;结尾&#xff1b;若多行语句无;&#xff0c;则被默认为一条语句未输入完…

English Learning - Day19 一周高频问题汇总 2022.12.25 周日

English Learning - Day19 一周高频问题汇总 2022.12.25 周日这周主要内容1 分词作状语作时间状语时相当子 when 引导的从句作原因状语时相当于 as,since,because 引导的从句作方式或伴随情况状语时不能用状语从句替换&#xff0c;但常可改写为并列成分作条件狀语相当于 it, un…

Debezium系列之:打通Debezium2.0以上版本的使用技术

Debezium系列之:打通Debezium2.0以上版本的使用技术 一、相关技术博客二、安装部署Debezium2.0以上版本三、Debezium2.0以上版本实际应用的变化四、完整的Debezium connector参数五、提交Debezium connector六、jmx页面查看connector信息一、相关技术博客 博主使用过程中踩了…

通达信接口node筹码分布怎么修改参数?

通达信接口node筹码分布怎么修改参数&#xff1f;其实就是需要点击筹码分布又上角的图标就可以修改了&#xff0c;可以修改成本的算法&#xff0c;还有历史换手衰减系数&#xff0c;还可以添加远期和近期的成本分布。 通达信接口node筹码参数分享&#xff0c;如下&#xff1a;…