做技术的就爱折腾, 看到哪里不够完美,就想把它改改, 使其顺眼.

同样Jmeter输出的报告实在差强人意, 截图发给领导看不够美观, 缺少统计汇总, 有什么方法给对方一个地址就可以浏览报告? 答案是肯定的.

我是mac机, windows一样可以实现, 环境变量设置略有不同, 其他大同小异.

Ant安装配置

1、从http://ant.apache.org 上下载tar.gz版ant

2、使用cp复制到/usr下

3、tar -vxzf apache-ant-1.9.0-bin.tar.gz  解压

4、vi /etc/profile    // 配置环境变量(windows的配置更简单path里直接添加)

#set Ant

export ANT_HOME=/usr/apache-ant-1.9.0

export PATH=$PATH:$ANT_HOME/bin

window中设置ant环境变量:
新建:ANT_HOME:E:\Program Files\apache-ant-1.9.1  //路径和版本自己修改
path 追加:%ANT_HOME%\bin

5、source /etc/proifle   //配置立即生效

6、ant -version   //测试ant是否生效

很早之前就配置过ant, 就懒得再去下个新版本, 这里是1.9.0

ant是一个非常成熟的工具, 存在时间久远, 后起之秀有Maven 还有gradle, 实用性可读性更加.

Jmeter建议使用3.3 以上版本, 需要配合 jdk1.8使用, 3.1是jdk 1.7

我的jmeter目录如下

/Users/louiezhou/Downloads/download/apache-jmeter-3.1/bin

在bin下创建一个目录

将jmx文件(就是你的jmeter脚本文件)放在该目录下

同时创建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="[修改路径]/apache-jmeter-3.1/"/>

<!-- 生成html和jtl的路径地址,我这里直接放在tomcat发布目录下 -->

<property name="jmeter.result.html.dir" value="[html报告输出路径]"/>

<property name="jmeter.result.jtl.dir" value="[jtl输出路径]"/>

<!-- 生成的报告的前缀-->

<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"/>

<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="[修改自己jmeter所在目录]apache-jmeter-3.1/bin/demo" 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">

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

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

2. 其次修改Jmeter的bin目录下jmeter.properties文件的配置:jmeter.save.saveservice.output_format=xml 

进入jmeter的bin自建目录下:

/Users/louiezhou/Downloads/download/apache-jmeter-3.1/bin/demo

遇到的坑:

XML 文档结构必须从头至尾包含在同一个实体内

解决方法:xml文件中标签不完整,没有结束标签

报如下错误

taskdef class org.programmerplanet.ant.taskdefs.jmeter.JMeterTask cannot be found

生成报告完美:

这里面还有个问题 ,就是执行多次report会被覆盖掉, 思路是使用时间戳的方式区分不同report, 扩展了还可以和Jenkins集成. 赶快动手来实践吧, 看百遍不如自己做一遍.

今日推荐阅读文章精选推荐

JMeter数据库操作

Jmeter接口测试-正则表达式

JMeter中文返回乱码

Jmeter接口测试-参数化

JMeter接口测试-基础

测试-感想

咨询工作加微信

扫描二维码

欢迎自荐和推荐, 需要的微信推送简历!

请猛戳下面二维码了解更多

Jmeter输出完美报告的更多相关文章

  1. 直接用nose进行django项目测试并输出html报告

    先说需求:1.测试django项目:2.打印测试报告(html格式)有以下几种测试方法:1.django自带的测试模块.在app目录下的tests.py文件中写测试类,类似这样: class MyTe ...

  2. jmeter自动生成报告

    从JMeter 3.0开始已支持自动生成动态报告,我们可以更容易根据生成的报告来完成我们的性能测试报告. 如何生成html测试报告 如果未生成结果文件(.jtl),可运行如下命令生成报告: jmete ...

  3. Jmeter - 生成Html报告

    同步更新至个人博客:https://njlife.top/2019/07/12/Jmeter-%E7%94%9F%E6%88%90Html%E6%8A%A5%E5%91%8A/ Jmeter GUI提 ...

  4. 三、Jmeter生成HTML报告

    1.执行jmeter -n -t [接口脚本地址] -l [test.jtl地址] -e -o [报告输出地址] 例如:jmeter -n -t C:\chushujin\youxinscript\j ...

  5. jmeter 使用聚合报告分析jtl文件

    对于jmeter测试生成产生的jtl文件除了使用jemter插件来产生csv或者结果,还可以直接用聚合报告来打开,下面来介绍一下怎么操作. 1. 产生jtl文件 注意,默认情况下聚合报告插件只能分析聚 ...

  6. 【JMeter】ant+jmeter生成html报告

    源博文来自于  http://my.oschina.net/hellotest/blog/517518 主要应用于接口的回归或者性能的简单查看功能.操作为先在jmeter中写好测试计划,保存为jmx文 ...

  7. 【JMeter】生成报告-Dashboard Report

    Dashboard Report 用于生成HTML页面格式图形化报告 1.在JMmeter性能测试结束时,自动生成本次测试的HTML图形化报告 2.使用一个已有的结果文件(如CSV)来生成该次的HTM ...

  8. Jmeter生成html报告

    进入到jmeter安全目录bin下,执行以下命令 基本命令格式: jmeter -n -t test.jmx(性能测试脚本) -l testResult.csv(测试监听结果文件) -e -o tes ...

  9. jmeter生成html报告详解

    Jmeter Dashboard详解 结果面板主要分为Dashboard和Charts两部分.Dashboard对信息进行汇总展示,Charts展示更多详细指标数据. Dashboard Test a ...

随机推荐

  1. MySQL在删除表时I/O错误原因分析

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由腾讯数据库技术 发表于云+社区专栏 问题现象 最近使用sysbench测试MySQL,由于测试时间较长,写了一个脚本按prepare- ...

  2. Linux 系统调用过程详细分析

    内核版本:Linux-4.19 操作系统通过系统调用为运行于其上的进程提供服务. 那么,在应用程序内,调用一个系统调用的流程是怎样的呢? 我们以一个假设的系统调用 xyz() 为例,介绍一次系统调用的 ...

  3. MVC页面扩展方法 单例模式

    MVC页面扩展方法    单例模式    /// <summary>         /// 创建一个Config内容对象         /// </summary>     ...

  4. Java基础练习2(构造方法)

    1.以下关于面向对象概念的描述中,不正确的一项是() A.在构造方法中,this()只能出现在构造方法第一行位置 B.在构造方法中,super()只能出现在构造方法第一行位置 C.this()和sup ...

  5. css3 之炫酷的loading效果

    css3 之炫酷的loading效果 今天实现了一个炫酷的loading效果,基本全用css来实现,主要练习一下css3的熟练运用 js需要引入jquery 只用到了一点点js 先看效果图 html: ...

  6. 产品经理之UML表达业务逻辑

    文章大纲 一. 什么是UML二. UML基础介绍三.UML实例介绍四.参考文档   一. 什么是UML   UML(Unified Modeling Language,统一建模语言) 是一种在软件设计 ...

  7. python从学渣到学沫的半月天

    今天又要引进一个新的知识点了,就是模块,可以直接引用的一个东西,从实用性来说很强大,不过还是需要记住模块的类型啊,如何应用还是需要学习和了解的.其中模块是分三种的,一种内置模块python内部提供的功 ...

  8. 部署远程jupyter

    1.直接执行 pip3 install jupyter 2.无法执行jupyter notebook后报错 “jupyter:command not found” 3.找到安装的位置,一般都在pyth ...

  9. 对 Undefined 与 Null 的一些理解

    Undefined 和 Null 是 Javascript 中两种特殊的原始数据类型(Primary Type),它们都只有一个值,分别对应 undefined 和 null ,这两种不同类型的值,既 ...

  10. 空间数据可视化之ArcLayer详解

    deck-overlay中 首先使用d3中的scaleQuantile将数据进行分类,scaleQuantile方法是d3中的一种数据分类方法(https://www.cnblogs.com/kids ...