MAC jmeter+ant 实现接口测试并将接口测试报告以邮件的形式发出-超详细

article/2025/4/24 1:27:41

最近项目组涉及到接口测试,然后自己想着如何输出接口测试的报告,经过自己的了解,发现测试行业中每个公司每个测试人员输出的方式都不一样的。常规的有以下几种

  • 使用表格的形式,手动去写,以总结的形式,给到测试 leader
  • 使用 python+requests 第三方库 去编写.py脚本,然后使用allure生成报告
  • 使用 ant + jmeter 去生成 html网页 报告,以邮件的形式发送给leader
  • 使用命令 jmeter -n -t 执行的 jmx 文件 -e 去生成一个 dashboard 给到 leader

除了上面几种方式以外,还有很多,我个人比较看好的是使用 ant 的方式,因为生成的接口测试报告更加的全面,如下图,具体的学习步骤如下

一、环境的搭建,所使用的工具

  • jdk的安装-环境的配置
  • jmeter的安装
  • ant的安装-环境的配置

1.jdk 的环境的安装与配置,根据自己的电脑系统去下载对应的版本,最好使用 java1.8 的版本

推荐下载的地址:Java Downloads | Oracle

-下载好了,然后默认一直下一步就可以了,这个没有什么技术含量的。安装好了,就配置环境变量。先使用 vim 命令去打开.bash_profile 然后去做如下配置

export JAVA_HOME=/Library/Java/本机安装jdk位置路径
export CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH

 - 补充 windows 的 环境变量配置的内容,如下图

 - 然后按ESC,输入:wq,然后输入命令:source .bash_profile 去激活这个环境变量的文件,这个很好理解,你做了改动,肯定要激活一下,才能够让你配置的环境变量生效

- 然后打开你的电脑终端输入命令:java -version,出现如下信息就代表你已经安装jdk并配置环境变量成功了

 2.jmeter的安装,

有同学问,为什么不直接安装jmeter呢?非要先安装 java

因为 jmeter 的运行环境依赖 java 的运行环境,jmeter就是使用java语言进行编写的,这样去想,非常的好理解

- jmeter的下载地址如下

Apache JMeter - Download Apache JMeter

- 根据自己的电脑系统去下载对应的系统版本就可以了,如下图

 安装好了,先使用cd命令,cd到你安装的 jmeter 的 bin 目录下,然后输入命令:jmeter 就可以打开了,如下图

当然这里你可以在选项-选择语言-中文,然后系统界面打开就是中文的了

 

当 jmeter 安装好了后就可以去编写你的接口测试的脚本,这里我提前已经编写好了,如下图

 3.当你已经编写好了一个简单的 jmeter 脚本后,然后就可以去安装 ant 工具,这里 ant 工具你可以简单理解成一个编译和打包工具,有了它就可以将普通的文件,以网页的形式展示出来。

ant 的安装也非常的简单,下载地址如下

Apache Ant - Binary Distributions

- 配置 ant 的环境变量和 上面配置 java 的环境变量类似的。先使用 vim 命令打开 .bash_profile

vim .bash_profile

- 然后输入如下配置,同理编辑添加好了 ant 的环境变量后,按ESC,输入:wq 保存并退出,然后输入命令 source .bash_profile 进行激活生效

export ANT_HOME=/Users/chenzilong/Applications/apache-ant-1.10.12
export PATH=$ANT_HOME/bin:$PATH

 

 - 下载和配置环境变量好了,在终端输入命令:ant -version 有如下内容就说名安装配置成功了

 

到这里你的jmeter、java、ant 以及编写的jmeter脚本好了,现在我们配置输出的邮件的格式以及展示出来的html网页的格式,如下步骤

二、配置输出的邮件格式和 html 网页展示的样式

- 在你的 jmeter 目录下 创建一个文件夹 叫做:TestCase,然后在TestCase目录下分别创建 三个文件夹,具体如下图

 - 三个文件夹的作用分别如下

  • html :存放生成的html网页
  • jtl :执行jmeter的脚本生成的结果保存到 .jtl 文件中,放在这个 jtl 文件夹内
  • scrpit :存放 jmeter 执行的脚本,将你要执行的 jmeter 脚本提前放到这个文件下,就是:.jmx 结尾的文件

- 对如下三个文件的内容作出更改,这一步很重要

- (重要)将 jmeter 下的 extras 的名字叫 ant-jmeter-1.1.1.jar 的jar包给复制粘贴到 ant 的 lib 目录下,这一步很重要,ant 就是通过这个 jar 包来驱动 jmeter 去执行我们的测试的脚本 

- (重要)将jmeter 下的 bin 目录下的 jmeter.properties 使用编辑工具进行编辑,将如下的值进行更改

jmeter.save.saveservice.output_format=csv

改称如下的结果

jmeter.save.saveservice.output_format=xml

 -(重要)将jmeter bin 目录下的 jmeter.properties 使用编辑工具进行编辑,将如下的值全部改为true,注意这里一定要全部改为 true

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

- (重要) 想要成功发送邮件,还需要将 [ activation.jar、commons-lang3-3.8.1.jar、mail.jar ] 这几个 jar 放到你的 ant 下 lib 目录下,这样才可以成功发送邮件,下载的链接:https://pan.baidu.com/s/18BWUMrW7ABfBlvU_b3Mppw 密码是:8jk4 

三、编辑你的 build.xml 文件以及输出的模版

- 在你的TestCase文件名目录下新建一个叫做:build.xml 的文件,如下图

- 然后使用编辑工具打开 build.xml 进行编辑输入如下内容,注意,将下面的相关信息全部换成你自己的。这里我都添加了注释,根据注释的地方填写你的信息就可以了,没有注释的地方就不用去更改,之前学习的时候,这里踩了很多坑, 都不知道哪些地方要改,哪些地方不改,这里踩了很多坑。真的,如果大家不确定的,也可以留言这边会给予帮助的

这里以qq邮箱为例

<?xml version="1.0" encoding="UTF8"?><project name="ant-jmeter-test" default="run" basedir=".">
<!--这个位置:填写你的 jmeter 所在的目录,这里要改-->
<property name="jmeterPath" value="/Users/chenhao/apache-jmeter-5.4.3"/>
<!--这个位置:填写你想要发送的邮箱的 smtp 服务器,这里要改-->
<property name="mailhost" value="smtp.qq.com"/>
<!--这个位置:填写你的qq邮箱,这里要改-->
<property name="username" value="248542954@qq.com"/>
<!--这个位置:填写你的qq邮箱的授权码,这里要改,继续看我下面的文章会讲,如何获取-->
<property name="password" value="bomwpltsannkbgdi"/>
<!--这个位置:填写发送的邮箱,建议也先填你自己的,这里要改-->
<property name="mailfrom" value="248542954@qq.com"/>
<!--这个位置:填写邮件到的邮箱账号,这里建议也先填你自己的邮箱,这里要改-->
<property name="mail_to" value="248542954@qq.com"/>
<!--这个位置:这里你自定义就好了,就是一个邮件里面的内容,影响不大,这里可以改-->
<property name="mailsubject" value="接口自动化测试报告"/>
<!--这个位置:这里填写你的邮箱的端口,qq邮箱是25 -->
<property name="mail_port" value="25"/>
<!--这个位置:这里是邮件的一个说明,可以自定义,这里要改-->
<property name="message" value="Hello!请查收下,这是我的接口自动化测试报告,如有任何疑问,请联系我,谢谢!"/><tstamp><format property="time" pattern="yyyyMMddhhmm" /></tstamp><property name="jmeter.home" value="${jmeterPath}" />
<!--这个位置:这里要改成你自己的 jtl 所在的目录,jmeterpath前面已经填写好了,只需要将剩余目录写好就可以了,这里要改--><property name="jmeter.result.jtl.dir" value="${jmeterPath}/bin/TestCase/jtl" />
<!--这个位置:这里要改成你自己的 html 所在的目录,jmeterpath前面已经填写好了,只需要将剩余目录写好就可以了,这里要改--><property name="jmeter.result.html.dir" value="${jmeterPath}/bin/TestCase/html" /><property name="htmlReportNameSummary" value="TestReport" /><property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${htmlReportNameSummary}${time}.jtl" /><property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${htmlReportNameSummary}${time}.html" /><target name="run"><antcall target="test" /><antcall target="report" /><antcall target="sendEmail" /></target><!--执行接口测试--><target name="test"><echo>执行接口自动化测试</echo><taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" /><jmeter jmeterhome="${jmeter.home}" resultlog="${jmeter.result.jtlName}"><!--要执行的测试脚本--><testplans dir="${jmeterPath}/bin/TestCase/scrpit" includes="*.jmx" /><property name="jmeter.save.saveservice.output_format" value="xml"/></jmeter></target><!--解决报告中NAN字段显示问题--><path id="xslt.classpath"><fileset dir="${jmeter.home}/lib" includes="xalan-2.7.2.jar"/><fileset dir="${jmeter.home}/lib" includes="serializer-2.7.2.jar"/></path><!--生成HTML测试报告--><target name="report"><echo>生成接口自动测试报告</echo><xslt classpathref="xslt.classpath"force="true"in="${jmeter.result.jtlName}" out="${jmeter.result.htmlName}"style="${jmeter.home}/extras/jmeter.results.shanhe.me.xsl"  /><!--复制图片--><copy todir="${jmeter.result.html.dir}"><fileset dir="${jmeter.home}/extras"><include name="collapse.png" /><include name="expand.png" /></fileset></copy></target><!--自动发送邮件--><target name="sendEmail"><echo>发送自动化测试报告</echo><mail mailhost="${mailhost}"ssl="ture"user="${username}"password="${password}"mailport="${mail_port}"subject="${mailsubject}"messagemimetype="text/html"tolist="${mail_to}"><from address="${mailfrom}" /><attachments><fileset dir="${jmeter.result.html.dir}"><include name="${htmlReportNameSummary}${time}.html"/><include name="collapse.png" /><include name="expand.png" /></fileset></attachments><message>${message}</message></mail></target></project>

- 授权码 ,以qq邮箱为例,先打开网页,进入你的qq邮箱,进入到如下页面

 - 进入到设置-账户-往下翻-点击 【生成授权码】选项

  - 会有一个安全校验,然后发送短信,获取成功后填入到上面 build.xml 所在位置的 password 也就是你自己的qq邮箱的授权码

 

- 除此以外,还需要将有一个 stlye 模版下载并放到你 jmeter 下的 extras 目录下,因为你直接去执行的话生成的模版就是这样的,信息不全。不好看,没有响应头哪些,如下图 

- 下载的地址:百度网盘 请输入提取码

 密码为:ne14

 -这个 jmeter.results.shanhe.me.xsl 文件在build.xml 文件内容中的这个位置进行使用,如下图

 

四、构建代码,输出接口测试的报告

- 先切换到你的 jmeter 下的TestCase目录下,使用你的终端,然后在终端输入如下命令

ant

 

- 这个时候,如果看到 BUILD SUCCESSFUL 就代表成功了,同时看到 Send email with 1 attachment,就代表成功发送了一封邮件,然后你可以去你邮件进行查看,如下图 

- 这个时候,你的老板或者你的 leader 打开文件,一看,有哪些接口,对吧,你现在做的接口测试,请求信息,请求的参数,响应的时间,响应信息,什么东西都可以一目了然,这不比手写的香香了吗,给人妥妥的一种高级感,你做了接口 测试结束后,你的 leader 就回收到一封,里面包含了所有的测试结果,哈哈哈哈哈哈~

- 两个字:真好

 

 

今日的分享,到此结束,感谢,fighting!加油,加油,加油


http://chatgpt.dhexx.cn/article/u3E7Ekkw.shtml

相关文章

jmeter+ant+jenkins接口自动化测试框架搭建

一个完整的接口测试框架需要支持接口的自动执行&#xff0c;自动生成测试报告&#xff0c;以及持续集成。Jmeter可以做接口测试&#xff1b;Ant是基于Java的构建工具&#xff0c;完成脚本执行并收集结果生成报告&#xff0c;可以跨平台&#xff1b;Jenkins是持续集成工具。将这…

windows下,jmeter+jenkins+ant接口自动化测试环境搭建

&#xff08;一&#xff09;jdk安装与配置 利用jmeter进行接口自动化&#xff0c;需要用到jdk&#xff0c;因此需要下载并安装jdk&#xff0c;下载jdk并配置好环境变量&#xff08;可参考网上教程&#xff09; &#xff08;二&#xff09;ant安装与配置 1.下载ant&#xff0…

Jmeter+Jenkins+Ant接口自动化测试平台搭建(Mac)输出测试报告(二)

1、首先将apache-jmeter-3.2extras下面的ant-jmeter-1.1.1的jar包复制到ant的lib目录下 复制到你安装ant目录下的lib文件里(这里就不贴图里) /usr/local/Cellar/ant/1.10.6/libexec/lib 提示&#xff1a;如果大家下载完ant后找不到路径&#xff0c;可以在终端输入命令&#x…

用JMeter+ANT进行接口自动化测试,并生成HTML测试报告

前言 小伙伴们&#xff0c;用python做接口自动化是不是写代码比较繁琐&#xff0c;而且没有python代码基础的小伙伴根本无从下手对吧&#xff01;今天我们来学习一下如何使用JMeter工具实现接口自动化测试。 安装 1、安装JDK&#xff0c;配置java环境变量&#xff08;安装过程…

jmeter——jmeter+ant生成优化的HTML接口自动化测试报告

jmeterant生成优化的HTML测试报告 一、最终实现效果展示二、实现方式1、环境搭建2、实现原理3、报告生成方式 三、实现步骤1、jar包转移&#xff1a;实现ant调用jmeter脚本2、jmeter插件包处理3、build文件的创建和修改4、报告展示信息调整5、html报告样式优化 四、遗留问题、 …

不会Python,用JMeter+ANT进行接口自动化测试,同样生成HTML测试报告,拿下20k轻轻松松

用python做接口自动化是不是写代码比较繁琐&#xff0c;而且没有python代码基础的小伙伴根本无从下手对吧&#xff01;今天我们来学习一下如何使用JMeter工具实现接口自动化测试。 一、安装 1、安装JDK&#xff0c;配置java环境变量&#xff08;安装过程略&#xff09; 2、安…

jmeter+csv+ant接口自动化测试--利用apache-ant执行测试用例并生成HTML格式测试报告(二)

在上一篇博文中介绍了如何使用csv文件来批量管理接口&#xff0c;本篇博文介绍如何利用apache-ant执行测试用例并生成HTML格式测试报告。 ①下载安装apache-ant-1.10.0&#xff0c;配置环境变量 如下方式检验安装是否成功&#xff0c;若展示如下即安装成功。 ②安装好ant后&am…

测试萌新必看!用JMeter+ANT进行接口自动化测试,并生成HTML测试报告

【文章末尾给大家留下了大量的福利】 小伙伴们&#xff0c;用python做接口自动化是不是写代码比较繁琐&#xff0c;而且没有python代码基础的小伙伴根本无从下手对吧&#xff01;今天我们来学习一下如何使用JMeter工具实现接口自动化测试。 01 安装 1、安装JDK&#xff0c;…

小白必看!用JMeter+ANT进行接口自动化测试,并生成HTML测试报告

小伙伴们&#xff0c;用python做接口自动化是不是写代码比较繁琐&#xff0c;而且没有python代码基础的小伙伴根本无从下手对吧&#xff01;今天我们来学习一下如何使用JMeter工具实现接口自动化测试。 01 安装 1、安装JDK&#xff0c;配置java环境变量&#xff08;安装过程略…

jmeter+ANT接口自动化环境的搭建以及测试报告的优化

1.安装JDK 下载地址&#xff1a;Java Downloads | Oracle 配置环境变量&#xff1a; JAVA_HOME C:\Program Files\Java\jdk1.8.0_171 path ;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin CALSS_PATH .;%JAVA_HOME%\lib;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.ja…

Jmeter+jenkins+Ant接口持续集成测试

Ant的介绍 apache Ant,是一个将软件编译、测试、部署等步骤联系在一起加以自动化的一个工具&#xff0c;大多用于Java环境中的软件开发。由Apache软件基金会所提供。 Ant它有以下的优点。跨平台性。Ant是纯Java语言编写的&#xff0c;所以具有很好的跨平台性。操作简单。Ant是…

Windows下搭建ant+jenkins+jmeter自动化接口测试框架(详细篇)

引言 为什么要持续集成? 1、减少风险 2、减少假定 3、减少重复过程 4、增强项目的可见性 5、持续集成可以带来两点积极效果&#xff1a; (1)有效决策&#xff1a;持续集成系统为项目构建状态和品质指标提供了及时的信息&#xff0c;有些持续集成系统可以报告功能完成度…

搭建jmeter+Jenkins+ant接口自动化测试

这是本人第一次在Jenkins下搭建接口自动化测试&#xff0c;也是一步一步摸索成形&#xff0c;继而满足基本使用要求。 一、前期准备 1.下载jdk&#xff0c;配置环境变量 export JAVA_HOME/brd_devops/jdk1.8.0_161 export JRE_HOME$JAVA_HOME/jre export CLASS_PATH$JAVA_HOME/…

不写一行代码,搭建Jenkins+Jmeter+Ant接口自动化框架

1、安装jmeter&#xff0c;并确认你的jmeter脚本可以跑通&#xff0c;如图所示&#xff1a; 2、安装ant&#xff0c;从http://ant.apache.org/bindownload.cgi下载并确认ant安装成功 3、将Jmeter下面extras目录里面的ant-jmeter-1.1.1.jar文件复制到ant的lib目录下面&#xff0…

jmeter+ant接口测试之修改build.xml,优化测试报告,展现更详细的信息

目录 初始报告 优化 1、下载优化模板 2、修改build.xml 3、修改jmeter.properties 4、配置user.properties 5、保留最新构建报告 6、报告文件名称带当前日期 初始报告 优化 1、下载优化模板 原来的下载地址用不了了&#xff0c;大家可以另外找下 jmeter-results-shan…

jmeter-11-Ant接口自动化一键运行

前言 重要的事情说三遍&#xff1a;仓库放在最后&#xff01;&#xff01;&#xff01;仓库放在最后&#xff01;&#xff01;&#xff01;仓库放在最后&#xff01;&#xff01;&#xff01; 整体流程图 PPL Jmeter 简介&#xff1a; 整合JmeterAnt 只需要通过简式配置或直…

接口测试很难吗?学会JMeter+Ant接口自动化搭建及实践

JMeter是Apache组织的开放源代码项目&#xff0c;能做接口测试、功能测试和性能测试。它能够对HTTP和FTP服务器进行压力和性能测试&#xff0c;也可以对数据库进行同样的测试&#xff08;通过JDBC&#xff09;&#xff0c;还能以多种形式展现测试结果。 然而&#xff0c;在使用…

JMeter+Jenkins+Ant接口持续化集成

JMeterJenkinsAnt接口持续化集成 一.ant环境配置1.新建test文件夹&#xff08;不能有中文路径&#xff09;test文件夹里新建ant文件夹和TestAuto文件夹在TestAuto文件夹中创建pc文件夹&#xff0c;pc文件夹中创建resultlog文件夹和script文件夹在resultlog中分别创建html和jtl文…

jmeter+ant+jenkins接口自动化测试框架

目录 一、前言 二、安装就jmeter 三、安装jdk 四、安装Ant 五、Ant配置Jmeter&#xff1a;用ant构建命令来调动执行jmeter接口测试&#xff0c;并生成测试报告 六、配置Jenkins&#xff0c;构建持续集成 一、前言 hello呀&#xff01;各位铁子们大家好呀&#xff0…