一個偵聽器是一個組件,顯示的結果 樣本。 結果可以顯示在一個樹,表格,圖表或簡單地寫入到日志中 文件。 查看的內容反應任何給定的采樣器,添加的監聽器” 視圖 結果樹 ”或“ 視圖的結果表 一個測試計划。 查看圖形的響應時間,添加 圖的結果。 的 聽眾 部分組件的頁面完整描述所有的聽眾。
“ 配置 ”按鈕可以用來指定哪些字段寫入文件,以及是否 把它寫成CSV或XML。 比XML文件CSV文件要小得多,所以使用CSV如果你生成了大量的樣品。
文件名可以指定使用一個相對或絕對路徑名。 相對路徑解析相對於當前工作目錄(默認 bin / 目錄)。 JMeter還支持路徑相對於包含當前目錄測試計划(JMX文件)。 如果路徑名始於“ ~ / ”(或任何 jmeter.save.saveservice.base_prefix JMeter屬性), 那么路徑被認為是相對於JMX文件位置。
如果你只希望記錄某些樣本,取樣器的添加偵聽器作為一個孩子。 或者你可以使用一個簡單的控制器組一組采樣,並將偵聽器添加到。 可以使用相同的文件名由多個采樣,但確保他們都使用相同的配置!
默認配置
默認的項目可以定義在得救 jmeter.properties (或 user.properties )文件。 屬性被用作初始設置監聽器配置彈出,和也 用於指定的日志文件 - l 命令行標志(通常用於非gui測試運行)。
改變默認格式,發現下面的線 jmeter.properties :
jmeter.save.saveservice.output_format=
信息保存的是可配置的。 最大的信息,選擇“ xml “格式和指定” 功能測試模式 在測試計划的元素。 如果不檢查這個盒子,默認保存 數據包含一個時間戳(午夜以來的毫秒數, 1970年1月1日UTC),數據類型,線程名稱,標簽, 響應時間、消息和代碼,一個成功的指標。 如果勾選此項,所有的信息,包括完整的響應數據將被記錄。
下面的例子顯示如何設置 屬性來得到一個豎線(“ | 會”)分隔的格式 輸出結果:。
timeStamp|time|label|responseCode|threadName|dataType|success|failureMessage 02/06/03 08:21:42|1187|Home|200|Thread Group-1|text|true| 02/06/03 08:21:42|47|Login|200|Thread Group-1|text|false|Test Failed: expected to contain: password etc.
相應的 jmeter.properties 需要設置如下所示。 一個奇怪的地方 在這個例子中是, output_format 被設置為 csv ,這 通常 表明逗號分隔值。 然而, default_delimiter 是 將一個豎線,而不是一個逗號,因此csv標簽 在這種情況下用詞不當。 (認為CSV意義字符分隔值)
jmeter.save.saveservice.output_format=csv jmeter.save.saveservice.assertion_results_failure_message=true jmeter.save.saveservice.default_delimiter=|
屬性,影響結果的全套文件輸出如下所示。
#--------------------------------------------------------------------------- # Results file configuration #--------------------------------------------------------------------------- # This section helps determine how result data will be saved. # The commented out values are the defaults. # legitimate values: xml, csv, db. Only xml and csv are currently supported. #jmeter.save.saveservice.output_format=csv # true when field should be saved; false otherwise # assertion_results_failure_message only affects CSV output #jmeter.save.saveservice.assertion_results_failure_message=true # # legitimate values: none, first, all #jmeter.save.saveservice.assertion_results=none # #jmeter.save.saveservice.data_type=true #jmeter.save.saveservice.label=true #jmeter.save.saveservice.response_code=true # response_data is not currently supported for CSV output #jmeter.save.saveservice.response_data=false # Save ResponseData for failed samples #jmeter.save.saveservice.response_data.on_error=false #jmeter.save.saveservice.response_message=true #jmeter.save.saveservice.successful=true #jmeter.save.saveservice.thread_name=true #jmeter.save.saveservice.time=true #jmeter.save.saveservice.subresults=true #jmeter.save.saveservice.assertions=true #jmeter.save.saveservice.latency=true #jmeter.save.saveservice.connect_time=false #jmeter.save.saveservice.samplerData=false #jmeter.save.saveservice.responseHeaders=false #jmeter.save.saveservice.requestHeaders=false #jmeter.save.saveservice.encoding=false #jmeter.save.saveservice.bytes=true #jmeter.save.saveservice.url=false #jmeter.save.saveservice.filename=false #jmeter.save.saveservice.hostname=false #jmeter.save.saveservice.thread_counts=true #jmeter.save.saveservice.sample_count=false #jmeter.save.saveservice.idle_time=true # Timestamp format - this only affects CSV output files # legitimate values: none, ms, or a format suitable for SimpleDateFormat #jmeter.save.saveservice.timestamp_format=ms #jmeter.save.saveservice.timestamp_format=yyyy/MM/dd HH:mm:ss.SSS # For use with Comma-separated value (CSV) files or other formats # where the fields' values are separated by specified delimiters. # Default: #jmeter.save.saveservice.default_delimiter=, # For TAB, since JMeter 2.3 one can use: #jmeter.save.saveservice.default_delimiter=\t # Only applies to CSV format files: # Print field names as first line in CSV #jmeter.save.saveservice.print_field_names=true # Optional list of JMeter variable names whose values are to be saved in the result data files. # Use commas to separate the names. For example: #sample_variables=SESSION_ID,REFERENCE # N.B. The current implementation saves the values in XML as attributes, # so the names must be valid XML names. # JMeter sends the variable to all servers # to ensure that the correct data is available at the client. # Optional xml processing instruction for line 2 of the file: #jmeter.save.saveservice.xml_pi=<?xml-stylesheet type="text/xsl" href="sample.xsl"?> # Prefix used to identify filenames that are relative to the current base #jmeter.save.saveservice.base_prefix=~/ # AutoFlush on each line written in XML or CSV output # Setting this to true will result in less test results data loss in case of Crash # but with impact on performances, particularly for intensive tests (low or no pauses) # Since JMeter 2.10, this is false by default #jmeter.save.saveservice.autoflush=false # Put the start time stamp in logs instead of the end sampleresult.timestamp.start=true # Whether to use System.nanoTime() - otherwise only use System.currentTimeMillis() #sampleresult.useNanoTime=true # Use a background thread to calculate the nanoTime offset # Set this to <= 0 to disable the background thread #sampleresult.nanoThreadSleep=5000
日期格式用於 timestamp_format 描述的是 SimpleDateFormat 。 時間戳的格式用於寫作和閱讀文件。 如果格式設置為“ 女士 ”,並作為一個長整數列不解析, JMeter(2.9 +)將下列格式:
- yyyy / MM / dd HH:MM:ss.SSS
- yyyy / MM / dd HH:MM:ss
- yyyy-MM-dd HH:mm:ss.SSS
- yyyy-MM-dd HH:mm:ss
- MM / dd / yy HH:MM:ss (這是為了兼容以前的版本,不建議作為一種格式)
樣本變量
JMeter支持 sample_variables 屬性定義一個額外的JMeter變量列表的得救 韓國樂團中的每個樣本文件。 的值將被寫入到CSV文件作為額外的列, 和附加屬性的XML文件。 在上面看到了一個例子。
樣本結果保存配置
偵聽器可以配置為不同的項目保存到日志文件(韓國樂團)結果通過使用配置彈出如下所示。 默認值被定義為描述的 偵聽器默認配置 上面的部分。 項目名稱后(CSV)只適用於CSV格式;項目(XML)只適用於XML格式。 CSV格式目前不能用於保存任何物品,包括換行符。

配置對話
注意,餅干,方法和查詢字符串保存的一部分” 取樣器數據 ”選項。
非gui(批)測試運行
在非gui模式下運行時, - l 國旗可以用來創建一個頂級偵聽器的測試運行。 這是除了任何偵聽器在測試計划中定義。 此偵聽器的配置控制文件中的條目 jmeter.properties 如前一節所述。
此功能可用於指定不同的數據和日志文件對於每個測試運行,例如:
jmeter -n -t testplan.jmx -l testplan_01.jtl -j testplan_01.log jmeter -n -t testplan.jmx -l testplan_02.jtl -j testplan_02.log
注意,JMeter日志消息寫入到文件中 jmeter.log 默認情況下。 每次重新創建這個文件,所以如果你想保持每個運行的日志文件, 您將需要使用的重命名它 - j 選擇如上所述。
JMeter支持日志文件中的變量名稱。 如果文件名包含成對的單引號,那么名字是處理 作為一個 SimpleDateFormat 格式應用於當前日期,例如: log_file = ' jmeter_ ' yyyyMMddHHmmss .tmp” 。 這可以用於生成一個唯一的名稱為每個測試運行。
資源使用情況
目前大多數的聽眾保持一份每個樣本顯示,除了:
- 簡單的數據的作家
- BeanShell /凈水器偵聽器
- 梅勒可視化工具
- 監測結果
- 總結報告
下面的聽眾不再需要保持每一個樣本的副本。 相反,和樣品相同的運行時間是聚合。 現在需要更少的內存,尤其是大多數樣品只需要一兩秒。
- 總報告
- 綜合圖
盡量減少所需的內存,使用簡單的數據的作家,並使用CSV格式。
CSV日志格式
CSV日志格式取決於哪些數據項中選擇配置。 只有指定的數據項記錄在文件中。 外觀的列的順序是固定的,如下:
- 時間戳 1/1/1970以來,以毫秒為單位
- 運行 ——以毫秒為單位
- 標簽 ——取樣器標簽
- responseCode ——如。 200年 , 404年
- responseMessage ——如。 好吧
- threadName
- 數據類型 ——如。 文本
- 成功 - - - - - - 真正的 或 假
- failureMessage ——如果任何
- 字節 ——在樣例的字節數
- grpThreads ——該線程組的活動線程數
- allThreads ——在所有組活動線程的總數
- URL
- 文件名 ——如果 保存對文件 使用
- 延遲 ——時間的第一反應
- 連接 ——時間建立連接
- 編碼
- SampleCount 數量的樣品(1,除非聚合多個樣本)
- ErrorCount 的錯誤數量(0或1,除非聚合多個樣本)
- 主機名 ——生成的示例
- IdleTime 的“空閑”時間的毫秒數(通常0)
- 變量 如果指定的
XML日志格式
更新XML(2.1)的格式如下(換行符將會不同):
<?xml version="1.0" encoding="UTF-8"?> <testResults version="1.2"> -- HTTP Sample, with nested samples <httpSample t="1392" lt="351" ts="1144371014619" s="true" lb="HTTP Request" rc="200" rm="OK" tn="Listen 1-1" dt="text" de="iso-8859-1" by="12407"> <httpSample t="170" lt="170" ts="1144371015471" s="true" lb="http://www.apache.org/style/style.css" rc="200" rm="OK" tn="Listen 1-1" dt="text" de="ISO-8859-1" by="1002"> <responseHeader class="java.lang.String">HTTP/1.1 200 OK Date: Fri, 07 Apr 2006 00:50:14 GMT ⋮ Content-Type: text/css </responseHeader> <requestHeader class="java.lang.String">MyHeader: MyValue</requestHeader> <responseData class="java.lang.String">body, td, th { font-size: 95%; font-family: Arial, Geneva, Helvetica, sans-serif; color: black; background-color: white; } ⋮ </responseData> <cookies class="java.lang.String"></cookies> <method class="java.lang.String">GET</method> <queryString class="java.lang.String"></queryString> <url>http://www.apache.org/style/style.css</url> </httpSample> <httpSample t="200" lt="180" ts="1144371015641" s="true" lb="http://www.apache.org/images/asf_logo_wide.gif" rc="200" rm="OK" tn="Listen 1-1" dt="bin" de="ISO-8859-1" by="5866"> <responseHeader class="java.lang.String">HTTP/1.1 200 OK Date: Fri, 07 Apr 2006 00:50:14 GMT ⋮ Content-Type: image/gif </responseHeader> <requestHeader class="java.lang.String">MyHeader: MyValue</requestHeader> <responseData class="java.lang.String">http://www.apache.org/asf.gif</responseData> <responseFile class="java.lang.String">Mixed1.html</responseFile> <cookies class="java.lang.String"></cookies> <method class="java.lang.String">GET</method> <queryString class="java.lang.String"></queryString> <url>http://www.apache.org/asf.gif</url> </httpSample> <responseHeader class="java.lang.String">HTTP/1.1 200 OK Date: Fri, 07 Apr 2006 00:50:13 GMT ⋮ Content-Type: text/html; charset=ISO-8859-1 </responseHeader> <requestHeader class="java.lang.String">MyHeader: MyValue</requestHeader> <responseData class="java.lang.String"><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> ⋮ <html> <head> ⋮ </head> <body> ⋮ </body> </html> </responseData> <cookies class="java.lang.String"></cookies> <method class="java.lang.String">GET</method> <queryString class="java.lang.String"></queryString> <url>http://www.apache.org/</url> </httpSample> -- non HTTP Sample <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>
注意,示例節點名稱可以是“ 樣本 ”或“ httpSample ”。
樣本的屬性
樣本的屬性有以下意義:
屬性 | 內容 |
---|---|
通過 | 字節 |
德 | 數據編碼 |
dt | 數據類型 |
電子商務 | 錯誤數(0或1,除非聚合多個樣本) |
接下來的 | 主機名示例生成的地方 |
它 | 空閑時間=時間不花在抽樣(毫秒)一般(0) |
磅 | 標簽 |
lt | 延遲=初始響應時間(毫秒)——並不是所有的取樣器支持這個 |
ct | 連接時間=建立連接的時間(毫秒)——並不是所有的取樣器支持這個 |
na | 所有線程組的活動線程的數量 |
ng | 這組活動線程的數量 |
鋼筋混凝土 | 響應代碼(如。 200年 ) |
rm | 響應消息(如。 好吧 ) |
年代 | 成功的標志( 真正的 / 假 ) |
sc | 樣本計數(1,除非聚合多個樣本) |
t | 運行時間(毫秒) |
tn | 線程的名字 |
ts | 自1970年1月1日午夜時間戳(毫秒UTC) |
varname | 指定變量的值 |
保存響應數據
如上所示,可以保存在XML響應數據日志文件如果需要。 然而,這可以使文件很大,和文本必須編碼 它仍然是有效的XML。 另外,圖片不能包括在內。 只有樣品反應類型 文本 可以保存。
另一個解決方案是使用后處理器 Save_Responses_to_a_file 。 這對每個樣本生成一個新文件,並保存文件名與樣品。 文件名可以包含在示例日志輸出。 檢索的數據將從文件示例日志文件重新加載時如果有必要。
加載(閱讀)響應數據
查看現有的結果文件,您可以使用文件” BrowseaŠ ”按鈕選擇一個文件。 如果有必要,就創建一個虛擬測試規划適當的監聽器。
結果可以讀取XML或CSV格式的文件。 當閱讀從CSV文件,結果頭(如果存在)是用來確定哪些字段保存。 為了解釋header-less CSV文件正確,適當的JMeter屬性必須設置。
偵聽器GUI數據保存
JMeter的任何偵聽器保存為PNG文件。 為此,選擇 偵聽器在左邊的面板。 點擊
的聽眾產生輸出表也可以使用復制/粘貼保存。 表中選擇所需的細胞,並使用操作系統復制捷徑(正常 Ctrl +一個 C )。 數據將被保存到剪貼板,從那里可以粘貼到另一個應用程序, 如一個電子表格或文本編輯器。
