jmeter 使用白皮書

1、jmeter中的響應端言html

    斷言就相似LoadRunner中的檢查點。對上一個請求返回的信息,作字符串、數據包大小、HTML、XML、圖片等作判斷,確保返回的信息的準確性。正則表達式

    如下只講解下響應斷言步驟,新建一個線程組,線程組中添加一個http請求,添加響應斷言:添加-》斷言-》響應斷言:服務器

    配置說明:    app

apply to:是應用範圍,設定匹配的範圍ide

Main sample and sub-samples:匹配範圍爲當前父取樣器,及子取樣器性能

Main sample only :僅當前父取樣器測試

Sub samples only:僅子取樣器url

JMeter Variable:變量值進行匹配線程

要測試的響應文字:針對響應數據不一樣部分進行匹配翻譯

(1)響應文本:響應服務器返回的文本內容,http協議排除header部分

(2)響應代碼:匹配響應代碼,好比http請求中‘200’表明成功

(3)響應信息:匹配響應信息,處理成功返回‘成功’或者「ok」字樣

(4)Response Header:匹配響應頭中的信息

(5)Document(Text):一切Apache Tika 支持服務器響應,包括文本響應,還支持 PDF, Office, Audio, Video formats。

(6) url樣本:是對sample的url進行斷言。若是請求沒有重定向(302),那麼就是這個就是請求url。 若是有重定向(且跟隨重定向),那麼url就包含請求url 和 重定向url 

匹配規則:

包括:響應內容包括須要匹配的內容就算成功

匹配:響應內容要徹底匹配匹配內容,不區分大小寫

equals:徹底相等,區分大小寫

substring:響應內容包括匹配內容即爲成功。

 否:就至關於取反。 若是上面斷言結果爲true,勾選「否」後,最終斷言結果爲false。若是上面斷言結果爲false,勾選「否」後,則最終斷言結果爲 true。 

要測試的模式:這裏就須要輸入 咱們要匹配的響應接口(即接口測試結果的指望值或者其餘指望值) 

能夠經過添加斷言結果來查看斷言的執行狀況。

二:正則表達式提取器

      容許用戶從做用域內的sampler請求的服務器響應結果中經過正則表達式提取值所需值,生成模板字符串,並將結果存儲到給定的變量名中。

       新建一個線程組,線程組中添加一個http請求,添加正則表達式提取器:添加-》後置處理器-》正則表達式提取器: 

      配置說明:      

APPly to:做用範圍(返回內容的斷言範圍)

一、Main sample and sub-samples:做用於主節點的取樣器及對應子節點的取樣器

二、Main sample only:僅做用於主節點的取樣器

三、Sub-samples only:僅做用於子節點的取樣器

四、JMeter Variable:做用於jmeter變量(輸入框內可輸入jmeter的變量名稱),從指定變量值中提取須要的值。

Field to check:要檢查的響應報文的範圍

一、主體:響應報文的主體,最經常使用

二、Body(unescaped):主體,是替換了全部的html轉義符的響應主體內容,注意html轉義符處理時不考慮上下文,所以可能有不正確的轉換,不太建議使用

三、Body as a Document:從不一樣類型的文件中提取文本,注意這個選項比較影響性能

四、Response Headers:響應信息頭(若是你使用的是中文版的Jmeter,會看到這一項是信息頭,這是中文翻譯問題,應以英文爲準)

五、Request Headers:請求信息頭

六、URL:請求url

七、Response Code:響應狀態碼,好比200、404等

八、Response Message:響應信息

  (1)引用名稱:下一個請求要引用的參數名稱,如填寫title,則可用${title}引用它。

  (2)正則表達式:

    ():括起來的部分就是要提取的。

    .:匹配任何字符串。
    +:一次或屢次。
    ?:不要太貪婪,在找到第一個匹配項後中止。

  (3)模板:用$$引用起來,若是在正則表達式中有多個正則表達式,則能夠是$2$$3$等等,表示解析到的第幾個值給title。如:$1$表示解析到的第1個值

  (4)匹配數字:0表明隨機取值,1表明所有取值,一般狀況下填0

  (5)缺省值:若是參數沒有取獲得值,那默認給一個值讓它取。

舉例說明: 

一、提取單個字符串:
    假如想匹配Web頁面的以下部分:name = "file" value = "readme.txt">並提取readme.txt。一個合適的正則表達式:name = "file" value = "(.+?)">。
      ():封裝了待返回的匹配字符串。
      .:匹配任何單個字符串。
      +:一次或屢次。
      ?:不要太貪婪,在找到第一個匹配項後中止。

  二、提取多個字符串:
    假如想匹配Web頁面的以下部分:name = "file.name" value = "readme.txt">並提取file.name和readme.txt。一個合適的正則表達式:name = "(.+?)" value = "(.+?)"。這樣就會建立2個組,分別用於$1$和$2$

  好比:

    引用名稱:MYREF
    模板:$1$$2$

   以下變量的值將會被設定:
    MYREF:     file.namereadme.txt
    MYREF_g0:   name = "file.name"value = "readme.txt"
    MYREF_g1:  file.name
    MYREF_g2:  readme.txt

  在須要引用地方能夠經過:${MYREF}, ${MYREF_g1進行使用。

 3、簡單分析

       a)結果樹:

       取樣器結果:Response code:200 表示執行接口調試成功;

       請求:發送的數據;

        響應數據:返回的數據;

 Thread Name:線程名稱組;

Sample Start:啓動開始時間;

Load time:加載時長;

Latency:等待時長;

Size in bytes: 發送的數據總大小;

Headers size in bytes:發送數據的其他部分大小;

Sample Count:發送統計;

Error Count:交互錯誤統計;

Response code:返回碼;

Response message:返回信息;

Response headers:返回的頭部信息;

b)聚合報告:

Label:httpRequset Name 屬性值;

Samples:測試過程當中一共發出了多少個請求即總線程數,(若是模擬10個用戶,每一個用戶迭代10次,這裏就顯示100),對應圖形報表中的樣本數目;

Average:單個reques的平均響應時間,計算方法是總運行時間除以發送到服務器的總請求數,對應圖形報表中的平均值;

Median:50%用戶的響應時間;

90%Line:90%用戶的響應時間;

Min:服務器響應的最短期;

Max:服務器響應的最長時間;

Error%:本次測試中出錯率,請求的數量除以請求的總數;

Throughput:吞吐量--默認狀況下表示每秒完成的請求數;

KB/Sec:每秒從服務器接收到的數據量,即每秒鐘請求的字節數,時間單位均爲ms;

c)圖形結果:

樣本數目:測試過程當中一共發送了多少個請求即總線程數;

最新樣本:表明時間的數字,是服務器響應最後一個請求的時間;

吞吐量:服務器每分鐘處理的請求數;

平均值:總運行時間除以發送到服務器的請求數;

中間值:有一半的服務器響應時間低於改值而另外一半高於該值;

偏離:表示服務器響應時間變化、離散程度測量值的大小;

相關文章
相關標籤/搜索