ant jmeter 原理_搭建ant和jmeter一键测试平台

目的:

通过ant一键执行一个或多个jmeter脚本,并批量生成html格式的报告。

工具简介:

jdk:包含java开发工具包(Java Development Kit)和java运行环境(jre),因jmeter是java开发,故需要安装jdk。

ant:一个自动化工具,通过配置文件,执行一些重复性的任务。

jmeter:性能测试工具,java语言开发。官方提供了与ant结合的jar包,可在ant的配置文件直接使用。

在XX目录下打开命令提示行:在windows中,在XX目录下,按住shift,在空白处点击右键,即可看到在此处打开命令窗口。或者运行cmd后,cd到XX目录。

环境变量修改以后记得要打开新的cmd窗口才会生效。

1.安装环境

windows 7(所有工具均支持linux,故linux也可以)

2.安装软件jdk1.6

jmeter2.13

ant1.9.6

安装以上软件,并配置环境变量(配置环境变量请自行搜索)。打开命令提示行,验证是否安装正确。

验证javaC:\>Java -version

java version "1.6.0_06"

Java(TM) SE Runtime Environment (build 1.6.0_06-b02)

Java HotSpot(TM) Client VM (build 10.0-b22, mixed mode, sharing)

验证jmeterC:\>jmeter -v

Copyright (c) 1998-2015 The Apache Software Foundation

Version 2.13 r1665067

验证antC:\>ant -version

Apache Ant(TM) version 1.9.6 compiled on June 29 2015

3.集成

需要在ant中新建一个执行jmeter的task,而jmeter已经包含了一个这样的jar包,将JMETER_HOME/extras/ant-jmeter-1.1.1.jar 放入 ANT_HOME/lib 下。

另外,jmeter也提供了一个ant的build.xml示例,但是仅能执行一个jmeter脚本,我们需要修改。

先用jmeter的这个示例体验一把,在JMETER_HOME/extras下打开命令提示行,输入ant,然后回车。

如果最后能看到输出的 BUILD SUCCESSFUL 的字样,说明已经执行成功,另外也能看到在当前目录生成的Test.jtl和Test.html文件。其中html就是这样:

4.ant配置

主要是 build.xml ,jmeter提供的示例不能满足要求。需要满足以下条件:执行指定目录下的所有jmeter脚本

保存脚本执行结果

根据执行结果解析成html报告,并保存到指定目录

关于ant的配置这里不再详述,另起一篇文章记录关于ant的使用。乌鸦的build.xml文件

需要修改build.xml中的几个配置

另外需要两个额外的jar包,如果没有这两个jar,无法计算min和max,会得到NaN的结果。在jmeter 2.13已包含这两个jar,老版本若没有需自行下载放入JMETER_HOME/lib下,下载jar包推荐:http://www.boyunjian.com/

还有 ant-contrib-1.0b3.jar ,提供遍历文件夹的功能,下载以后放入ANT_HOME/lib,下载jar包推荐:http://www.boyunjian.com/

如果不添加这个jar包,会报以下错误[taskdef]Could not load definitions from resource net/sf/antcontrib/antlib.xml. It could not be found.

需要在ant中指定jmeter的输出结果为xml格式,或者修改jmeter的配置文件(jmeter.properties)输出结果为xmlant配置,在jmeter标签下添加子元素:

jmeter配置,修改JMETER_HOME/bin/jmeter.propertiesjmeter.save.saveservice.output_format=xml # 默认是csv

5.报表配置

通过调整 xsl 文件,解析xml格式的jtl日志生成不同样式的html报告。

使用xsl解析xml生成html,需要了解xsl标记语言,资料相对略少,只能照猫画虎。

默认的xsl不提供TPS的计算,乌鸦增加了TPS列。其中,TPS的计算公式为:请求次数/(最后一次请求时间+请求返回时间-第一次请求时间)。

乌鸦的xsl配置文件

6.其他配置

如果再安装一个web服务器,将生成的html输出到web服务器的发布目录,即可通过url直接访问测试报告。

2016-08-16 更新

7.无法生成html报告或html报告无内容

需要知道原理,为何最后能生成html报告?通过ant去调用jmeter,生成日志文件,这是jmeter提供的现成的方法,无非是将测试结果按照一定规律保存成csv或xml格式的文件,然后按照规律去读取csv或xml文件,生成html文件。

那么,如果html报告是空的,问题只可能是:csv或xml格式是空的

生成html文件过程有误

对于第一个,核实csv或xml文件是否有内容,这个一般不会出问题。

关键是第二个,本文介绍的方法中,生成html文件是通过使用xsl模板解析xml,如果xsl模板或xml文件有问题,均不能得到正常的html结果。如果可以的话,自己编写一个小程序,按照规律读取数据并计算,也可以得到一个深度定制的报告。

规律:

csv格式timeStamp[ts],elapsed[t],label[lb],responseCode[rc],responseMessage[rm],threadName[tn],dataType[dt],success[s],failureMessage,bytes[by],Latency[lt]

请求发出的绝对时间,响应时间,请求的标签,返回码,返回消息,请求所属的线程,数据类型,是否成功,失败信息,字节,延迟时间

xml格式更清晰一些

有了这些结果记录,就可以计算出各种需要的结果了。参考

2016-08-17 更新

Jmeter3.0 内置了生成html的功能,图标更丰富,更方便。参考

将csv格式的测试结果导出到pathjmeter -g -o

使用Non-GUI模式执行测试并生成html到pathjmeter -n -t -l -e -o

8.缺陷

2016-11-16更新

修改JMETER_HOME/bin/jmeter文件的JVM参数后,通过ant调用时没有使用新设置的JVM参数。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值