参考:http://jmeter.apache.org/usermanual/listeners.html

Listener是用来展示Sampler结果的元件。

结果可以被展示在树、表格、图表或者简单写入到一个log文件。

看所有Sampler的具体内容,可使用的Listeners:"View Results Tree" 或者 "View Results in table"。

如果Sample很多的话,Listener可能会用掉很多内存。如果想最小化使用的内存量,可以使用 Simple Data Writer,并且使用CSV格式。

输出到文件

不同的Listener以不同的方式来展示响应信息。然而,不同的listener写入到输出文件的数据是相同的。

1. 输出文件路径

Filename:可以输入相对路径,也可以输入绝对路径。

相对路径是相对于当前工作路径,一般默认是“Jmeter安装路径\bin\”。比如,直接在Filename中输入log,则“Jmeter安装路径\bin\”下会出现一个文件为log。

相对路径也可以是相对于当前测试计划的路径。如果filename以“~/”开始,说明是相对于JMX文件位置的路径。比如输入”~/log“,当前测试计划路径为“E:\TestPlan3.jmx”,则输出文件路径为“E:\log”。

如果想使用除了“~/”的前缀,可以在jmeter.properties中定义。比如下面定义为“#/”,则filename输入“#/log”即可。

  1. # Prefix used to identify filenames that are relative to the current base
  2. #jmeter.save.saveservice.base_prefix=~/
  3. jmeter.save.saveservice.base_prefix=#/

2. 输出文件类型

在jmeter.properties中可以直接定义输出的文件默认类型。

  1. # legitimate values: xml, csv, db. Only xml and csv are currently supported.
  2. #jmeter.save.saveservice.output_format=csv

也可以点击 Configure按钮,直接勾选中“Save As XML”保存文件为XML类型。

CSV文件比XML文件小很多,所以如果产生很多sample的话,建议使用CSV。

如果想输出最多的信息,我们需要选择保存文件为xml,并且在Test Plan中勾上 “Functional Test Mode”。

“Functional Test Mode”不勾上的话,默认存储:time stamp, the data type, the thread name, the label, the response time, message, code, a success indicator。

“Functional Test Mode”勾上的话,所有的信息,包括整个响应数据都会被存储下来。参见XML中 responseData。

3. 输出文件的内容

点击Configure,可以配置需要输出的内容。

带有(CSV)后缀的项,只能应用于CSV格式的文件。

带有(XML)后缀的项,只能应用于XML格式的文件。

Sample Result Save Configuration默认选中项参见jmeter.properties的配置。

查看文件

1. CSV格式的文件

CSV显示的列取决于Configure中选中的项。显示顺序如下:

  1. timeStamp - milliseconds 为单位,显示自从 1/1/1970以来的时间段
  2. elapsed - milliseconds为单位
  3. label - sampler 标记,一般就是Sampler
  4. responseCode - 比如 200, 404
  5. responseMessage - 比如 OK
  6. threadName
  7. dataType - 比如 text
  8. success - true 或者 false
  9. failureMessage - 如果有的话就显示
  10. bytes - sample的字节数
  11. sentBytes - sample发送的字节数
  12. grpThreads - thread group active的线程数
  13. allThreads - 所有组的所有active的线程数
  14. URL
  15. Filename - 使用 Save Response to File 时,文件名
  16. latency - 从第一次 response开始的时间
  17. connect - 从建立连接开始的时间
  18. encoding
  19. SampleCount - sample (一般是1 ,除非合计了多个sample)
  20. ErrorCount - errors (一般是01,除非合计了多个sample)
  21. Hostname - 发送 sample的机器名
  22. IdleTime - milliseconds为单位显示 'Idle' 时间(一般是0)
  23. Variables- 如果定义变量的话,这里就显示变量

2. XML格式的文件

示例如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <testResults version="1.2">
  3.  
  4. …………
  5.  
  6. <sample t="0" lt="0" ts="1144372616082" s="true" lb="Example Sampler" rc="200" rm="OK" tn="Listen 1-1" dt="text" de="ISO-8859-1" by="10">
  7. <responseHeader class="java.lang.String"></responseHeader>
  8. <requestHeader class="java.lang.String"></requestHeader>
  9. <responseData class="java.lang.String">Listen 1-1</responseData>
  10. <responseFile class="java.lang.String">Mixed2.unknown</responseFile>
  11. <samplerData class="java.lang.String">ssssss</samplerData>
  12. </sample>
  13.  
  14. </testResults>

每个属性的含义如下:

保存Response数据

XML格式的输出文件可以保存Response数据。勾上“Save Response Data(XML)”即可。

然而,这种方式会造成日志文件很大,而且文件必须被编码。同时,这种方式会造成图片不能被保存,只有TEXT格式的sample response可以被保存成功。

想要解决这个问题,我们可以使用 Listener–> Save Responses to a file。使用这个监听之后,系统会对监听范围内的每次请求保存一个html文件。默认保存在“jmeter安装路径/bin/”下。

直接打开已存在的结果文件

如果之前测试已经存在一个CSV或者XML文件,可以直接在Listener中打开。

任选一个Listener,点击filename后的Browse按钮,找到要打开的文件,点击打开即可。

需要注意的是,在加载新的文件时,jmeter并不会清空任何当前数据,而是进行合并。所以如果想清空之前的数据,必须手动清空。

JMeter 六:Listener的更多相关文章

  1. Jmeter(六) - 从入门到精通 - 建立数据库测试计划(详解教程)

    1.简介 在实际工作中,我们经常会听到数据库的性能和稳定性等等,这些有时候也需要测试工程师去评估和测试,因此这篇文章宏哥主要介绍了jmeter连接和创建数据库测试计划的过程,宏哥在文中通过示例和代码非 ...

  2. Jmeter(六)文件上传和下载文件

    一.Jmeter上传文件 编写脚本:               首先添加一个线程组,然后在线程组里面添加一个http请求,因为是发送数据,所有是post请求,写好上传的地址,然后写好文件路径     ...

  3. Jmeter(六)关联之XPath提取器

    如果请求返回的消息为xml或html格式的,可以用XPath提取器来提取需要的数据 以http://www.weather.com.cn/为例: 先新建一个HTTP请求GetCityURL,获取城市天 ...

  4. Jmeter(六)事务

    事务是性能测试之必不可少的关注点, Jmeter默认把每一个请求都统计成了一个事务, 但有时候我们根据业务需求, 会把多个操作统计成一个事务, Jmeter当然也考虑到了这个需求, 因此我们可以通过逻 ...

  5. Jmeter(六)_前置处理器

     BeanShell PreProcessor  使用BeanShell在请求进行之前进行操作.语法使用与BeanShell Sampler是一样的.但可使用的内置变量稍有不同 参考示例 Jmeter ...

  6. jmeter (六) 登录 token获取

    有时候登录请求中会含有token字段,如下,此时就需要提取token 怎么提取token呢,其实很简单,通过正则表达式就可以了 1.添加http请求:获取登录页面,为“get”方式 2.在此http请 ...

  7. 点读系列《jmeter官方用户手册》

    官网:http://jmeter.apache.org/usermanual/ 说明:十八元件.十九属性.二十函数,涉及清单内容暂未仔细阅读,个人觉得一是仅供使用参考,二是适合单独写文章来解读 一.让 ...

  8. Windows 7下搭建Jmeter测试环境

    jmeter配置.安装 一. 工具描述 apache jmeter是100%的java桌面应用程序,它被设计用来加载被测试软件功能特性.度量被测试软件的性能.设计jmeter的初衷是测试web应用,后 ...

  9. 性能测试 CentOS下结合InfluxDB及Grafana图表实时展示JMeter相关性能数据

    CentOS下结合InfluxDB及Grafana图表实时展示JMeter相关性能数据   by:授客 QQ:1033553122 实现功能 1 测试环境 1 环境搭建 2 1.安装influxdb ...

随机推荐

  1. 洛谷——P1276 校门外的树(增强版)

    P1276 校门外的树(增强版) 题目描述 校门外马路上本来从编号0到L,每一编号的位置都有1棵树.有砍树者每次从编号A到B处连续砍掉每1棵树,就连树苗也不放过(记 0 A B ,含A和B):幸运的是 ...

  2. 洛谷——P2035 iCow

    P2035 iCow 题目描述 被无止境的农活压榨得筋疲力尽后,Farmer John打算用他在MP3播放器市场新买的iCow来听些音乐,放松一下.FJ的iCow里存了N(1 <= N < ...

  3. python3实践-从网站获取数据(Carbon Market Data-GD) (bs4/Beautifulsoup)

    结合个人需求,从某个网站获取一些数据,发现网页链接是隐藏的,需要通过浏览器看后面的代码来获取真实的链接. 下面这个案例,直接是从真实的链接中爬去数据. 此外,发现用pandas的read_html不能 ...

  4. UVA 147(子集和问题)

     Dollars New Zealand currency consists of $100, $50, $20, $10, and $5 notes and $2, $1, 50c, 20c, 10 ...

  5. HDU 6035 Colorful Tree (树形DP)

    [题目链接] http://acm.hdu.edu.cn/showproblem.php?pid=6035 [题目大意] 给出一颗树,一条路径的价值为其上点权的种类数,求路径总价值 [题解] 我们计算 ...

  6. 【动态规划】POJ1664-放苹果

    非常经典的划分数问题,即相当于把m个物体分成至多n组,求出分组总数. [思路]当前状态dp[i][j]表示将i个物体分成至多j组的分组总数.对于当前状态,有以下两种情形: (1)j组中有组为空,则这种 ...

  7. Codeforces Round #344 (Div. 2) B. Print Check 水题

    B. Print Check 题目连接: http://www.codeforces.com/contest/631/problem/B Description Kris works in a lar ...

  8. centos yum命令报错

    Loaded plugins: fastestmirror, security Loading mirror speeds from cached hostfile Could not retriev ...

  9. Linux操作系统下的常见系统资源共享

    转:http://www.360doc.com/content/07/0420/10/25127_457022.shtml linux下如何挂接(mount)光盘镜像文件.移动硬盘.U盘.Window ...

  10. .Net的差评

    .NET平台很棒.真的很棒.直到它不再那么棒.我为什么不再用.NET?简单来说,它限制了我们选择的能力(对我来说很重要),转移了我们的注意力,使得我们向内认知它的安全性,替代了帮助我们认知外面广阔世界 ...