zoukankan      html  css  js  c++  java
  • JMeter 六:Listener

    参考: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写入到输出文件的数据是相同的。

    image

    1. 输出文件路径

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

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

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

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

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

    2. 输出文件类型

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

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

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

    image

    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的配置。

    image

    查看文件

    1. CSV格式的文件

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

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

    2. XML格式的文件

    示例如下:

    <?xml version="1.0" encoding="UTF-8"?>
      <testResults version="1.2">
    
         ………… 
    
        <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">
            <responseHeader class="java.lang.String"></responseHeader>
            <requestHeader class="java.lang.String"></requestHeader>
            <responseData class="java.lang.String">Listen 1-1</responseData>
            <responseFile class="java.lang.String">Mixed2.unknown</responseFile>
            <samplerData class="java.lang.String">ssssss</samplerData>
        </sample> 
    
    </testResults>

    每个属性的含义如下:

    image

    保存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并不会清空任何当前数据,而是进行合并。所以如果想清空之前的数据,必须手动清空。

  • 相关阅读:
    poj 2312 Battle City
    poj 2002 Squares
    poj 3641 Pseudoprime numbers
    poj 3580 SuperMemo
    poj 3281 Dining
    poj 3259 Wormholes
    poj 3080 Blue Jeans
    poj 3070 Fibonacci
    poj 2887 Big String
    poj 2631 Roads in the North
  • 原文地址:https://www.cnblogs.com/miniren/p/6510768.html
Copyright © 2011-2022 走看看