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

article/2025/5/1 16:10:13

jmeter+ant生成优化的HTML测试报告

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

一、最终实现效果展示

我们jmeter本身生成的接口自动化测试报告不能详细的展示出我们常见的信息,所以在此基础上进行了

优化,下面是优化之后的结果,既可以查看汇总信息也可以对每个接口的请求返回进行查看方便定位问


在这里插入图片描述

二、实现方式

1、环境搭建

(1)java环境搭建
【备注】:如果JDK版本是1.8以上则ANT包对应建议使用ant.1.10。否则使用ant.1.9
下载及配置:https://blog.csdn.net/sinat_37774909/article/details/109848342
(2)jmeter环境搭建
下载及配置:https://blog.csdn.net/qq_39242539/article/details/108140349
(3)Ant环境搭建
下载及配置:https://blog.csdn.net/mp624183768/article/details/80701370

2、实现原理

首先我们是执行ant命令,通过Ant命令来调用build.xml

build文件规定了脚本的调用路径(支持多脚本)、生成报告的模板、生成报告的路径和生成报告的名称

build再通过配置调用jmeter执行脚本生成jtl结果文件,并把结果文件转换为html报告展示

报告的展示内容首先受jmeter用例模板的控制,其次还受jmeter配置中的参数输出项控制

3、报告生成方式

三、实现步骤

1、jar包转移:实现ant调用jmeter脚本

把jmeter安装包extras目录下的ant-jmeter-1.1.1.jar转移到ant安装包lib目录下,ant运行时才能找到

"org.programmerplanet.ant.taskdefs.jmeter.JMeterTask"这个类,之后可以触发Jmeter脚本
在这里插入图片描述

2、jmeter插件包处理

对于部分版本的jmeter包缺少插件JMeterPlugins-Extras-1.3.0和JMeterPlugins-Standard-1.3.0,可以下载后放到jmeter\lib\ext目录下
链接:https://pan.baidu.com/s/11XChnO2SDDmDWkMrvJ0uDw
提取码:upiv
在这里插入图片描述

3、build文件的创建和修改

在ant目录下创建文件build.xml,然后进行编辑以实现ant的调用
编辑内容如下:

<?xml version="1.0" encoding="UTF-8"?>  <project name="ant-jmeter-test" default="run" basedir=".">  <tstamp>  <format property="time" pattern="yyyyMMddhhmm" />  </tstamp>  <property name="basedirectory" value="F:\20220425\apache-jmeter-5.3\extras" />  <!-- 需要改成自己本地的 Jmeter 目录-->    <property name="jmeter.home" value="F:\20220425\apache-jmeter-5.3" />  <!-- jmeter生成jtl格式的结果报告的路径-->   <property name="jmeter.result.jtl.dir" value="F:\20220425\jmeterAnt\jtl" />  <!-- jmeter生成html格式的结果报告的路径-->  <property name="jmeter.result.html.dir" value="F:\20220425\jmeterAnt\html" />  <!-- Name of test (without .jmx) -->  <property name="test" value="Test"/>  <!-- 生成的报告的前缀-->    <property name="ReportName" value="TestReport" />  <property name="jmeter.result.jtlName" value="${jmeter.result.jtl.dir}/${time}.jtl" />  <property name="jmeter.result.htmlName" value="${jmeter.result.html.dir}/${time}.html" />  <path id="xslt.classpath">  <fileset dir="${jmeter.home}/lib" includes="xalan*.jar"/>  <fileset dir="${jmeter.home}/lib" includes="serializer*.jar"/>  </path>  <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="F:\20220425\jmeterAnt" includes="*.jmx" /> <property name="jmeter.save.saveservice.output_format" value="xml"/>			</jmeter>  </target>  <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}"  <!-- 声明要运行的脚本。jmeter-results-detail-report_21.xsl是汇总报告的模板--> style="${jmeter.home}/extras/jmeter-results-detail-report_21.xsl">  <param name="dateReport" expression="${report.datestamp}"/> </xslt><xslt classpathref="xslt.classpath"  force="true"  in="${jmeter.result.jtlName}"  out="${jmeter.result.htmlName}"  <!-- 声明要运行的脚本。jmeter.results.shanhe.me.xsl是详细报告的模板--> 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是汇总报告的模板

jmeter.results.shanhe.me.xsl是详细报告的模板,下载链接为:提取码:oaba【点我提取】

下载的模板放到目录apache-jmeter-5.3\extras下

4、报告展示信息调整

要控制我们展示详细报告的信息,此时我们还要修改jmeter的配置,在生成的jtl结果中显示记录我们需要

的数据,修改jmeter->bin目录下的jmeter.properties如图

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
# 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

5、html报告样式优化

前四步执行完基本就可以通过ant命令来实现自动化生成html报告啦。

【ant目录下打开cmd窗口然后输入命令:ant】
在这里插入图片描述
在这里插入图片描述

但是你会发现生成的报告只有详细信息,缺少汇总.我们需要需改一下html报告模板的内容把汇总信息展

示出来,这是文件在apache-jmeter-5.3\extras目录下替换既可

链接:https://pan.baidu.com/s/1HqK7vk86df9mtkwPjVKzZw
提取码:wvry

四、遗留问题、

问题一:ant执行过程中报错
BUILD FAILED
D:\automation2\apache-ant-1.9.7\build.xml:29: The following error occurred while
executing this line:
D:\automation2\apache-ant-1.9.7\build.xml:47: input file D:\automation2\JmeterTe
st\resultLog\jtl\201912300431.jtl does not exist

如果配置没问题的话去修改一下jmeter/bin目录下的user.properties,修改为如图所示

jmeter.save.saveservice.output_format=xmljmeter.save.saveservice.response_data=truejmeter.save.saveservice.samplerData=truejmeter.save.saveservice.requestHeaders=truejmeter.save.saveservice.url=truejmeter.save.saveservice.responseHeaders=trueview.results.tree.max_size=0

如果还不行那说明你的JDK不匹配,更换版本吧

文章来源:https://blog.csdn.net/qq_32828053/article/details/124687407
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://chatgpt.dhexx.cn/article/Futb62dx.shtml

相关文章

不会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…

Jmeter+ant实现接口自动化(三)

1、来看看jmeter生成自带的测试报告 进入jmeter的解压路径下的/bin&#xff0c;执行某个路径下的jmx文件&#xff1a; jmeter -n -t /Users/ss/Desktop/jmeter/参数化.jmx -l result.jtl -e -o WebReport -n: 非GUI模式执行JMeter -t: 执行测试文件所在的位置 -l: 指定生成测…

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

1、安装就jmeter 1、下载安装包&#xff08;过程略过&#xff0c;自己找安装包&#xff0c;随便装在哪个目录下&#xff09; 2、配置环境变量 JMETER_HOME 为 jemter安装路径; CLASSPATH为 %JMETER_HOME%\lib; PATH为%JMETER_HOME%\bin; 3、安装验证 在命令窗口中输入jmet…

Ant安装及环境变量配置+邮件配置+Ant生成接口测试报告

Ant安装 1.将Ant解压到 D:\Atest\apacheAnt下 2.将JMeter所在目录下extras子目录里的ant-jmeter-1.1.1.jar复制到 ant 所在目录lib子目录下&#xff0c;这样Ant运行时才能找到“org.programmerplanet.ant.taskdefs.jmeter.JMeterTask”这个类&#xff0c;从而成功触发JMeter脚…

Jmeter+Ant 接口自动化环境配置指南

一 、Jmeter安装与配置(以下为个人CSDN博客老文章) https://blog.csdn.net/tester_sc/article/details/80746405 注&#xff1a;Jmeter5.0的环境变量配置与4.0或历往老版本有部分小差异&#xff0c;笔者用的Jmeter 5.0 二 、Ant的安装与配置 # Ant下载地址(下载到指定目录后…

SpringBoot整合MyBatis实现分库分表方案

SpringBoot整合MyBatis实现分库分表方案 SpringBoot整合Mybatis实现分库分表查询&#xff0c; 这里不讲解SpringBoot如何整合MyBatis &#xff0c;只讲解SpringBoot整合MyBatis下的实现分库分表的实现方案。 #大概的实现思路 我们知道MyBatis的mapper对象是通过动态代理创建…