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

  • 相关阅读:
    SPS安装过程中配置服务器场帐户设置页面不能正常显示以及IIS中SPS管理站点未配置成功问题的原因
    Outlook中时间的自然语言支持
    hashtable与HashMap区别
    IE浏览器Encoding Autoselect,UTF8编码的中文页面白屏
    ASP.NET中Web DataGrid的使用指南
    HTML+CSS模拟的Tab控件
    DIV+CSS定位之相对定位与绝对定位
    javascript中apply方法
    Windows工作流基类库(WF)探密
    中国居民身份证号码验证
  • 原文地址:https://www.cnblogs.com/miniren/p/6510768.html
Copyright © 2020-2023  润新知