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

同样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. 使用LXD搭建Web网站

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由独木桥先生 发表于云+社区专栏 介绍 Linux的容器是Linux的一组进程,通过使用Linux内核功能与系统隔离.它是一个类似于虚拟 ...

  2. Git协同工作流介绍

    git相关的文章和教程非常多,但是系统介绍和了解工作流的人并不多,在使用过程中用错或用偏的也不少,这里分享的是,假设你已经入门的情况下,我们如何去选择适合团队需要的工作流. git优势 这里先唠叨gi ...

  3. docker同时删除多个容器

    查询所有容器 sudo docker ps -a 同时删除多个符合筛选条件的容器,例如删除状态为“exited”的容器 docker rm $(docker container ls -f " ...

  4. ArcGIS 网络分析[0] 介绍与博文目录【更新中】

    网络分析是个热点,理论上是属于计算机图形学和数据结构的,GIS以此为基础做出应用. 以下列举本人在学习中遇到的网络分析问题与经验总结. 1. 软件平台及数据准备 平台:Windows 10 操作系统, ...

  5. 关于Django报错django.core.exceptions.ImproperlyConfigured: Requested setting DEBUG, but settings are not configure

    报错代码:django.core.exceptions.ImproperlyConfigured: Requested setting DEFAULT_INDEX_TABLESPACE, but se ...

  6. iOS 11: CORE ML—浅析

    本文来自于腾讯Bugly公众号(weixinBugly),未经作者同意,请勿转载,原文地址:https://mp.weixin.qq.com/s/OWD5UEiVu5JpYArcd2H9ig 作者:l ...

  7. ReactiveSwift源码解析(六) SignalProtocol的take(first)与collect()延展实现

    上篇博客我们聊了observe().map().filter()延展函数的具体实现方式以及使用方式.我们在之前的博客中已经聊过,Signal的主要功能是位于SignalProtocol的协议延展中的, ...

  8. 【死磕 Spring】----- IOC 之 加载 Bean

    原文出自:http://cmsblogs.com 先看一段熟悉的代码: ClassPathResource resource = new ClassPathResource("bean.xm ...

  9. iptables/mysql设置指定主机访问指定端口

    本周,运维告知部署的服务被扫描发现漏洞,涉及的软件分别为mysql,ZooKeeper与Elasticsearch. 因为最近任务繁重,人力资源紧张,因此无法抽出更多时间调整代码,添加权限认证. 与软 ...

  10. Python学习曲线

    经历长达近一个月的资源筛选过程终于结束,总共1.5T百度网盘的资源经过:去重.筛选.整理.归档之后一份粗略的Python学习曲线资源已经成型,虽然中间经历了很多坎坷,不过最终还是完成,猪哥也是第一时间 ...