二十5、響應斷言

1、JMeter響應斷言

看一下官方文檔介紹,斷言:前端

 

 

 

斷言用於對採樣器執行結果的檢查,並在同一範圍內的每一個採樣器以後進行處理。若是要對某個採樣器進行斷言,直接將斷言添加到採樣器的子集便可。
爲何要用斷言?

jquery

JMeter以及Postman等接口測試工具,他們都是基於協議進行工做的,使用這些工具進行發送請求,當請求發送成功的時候(即協議發送成功),在查看結果樹中請求樣本顯示綠色。好比協議狀態碼是200就是成功,也是僅僅表明協議發送成功,可是業務不必定成功。有多是協議發送成功了,可是業務沒有成功,可是JMeter默認不作判斷。那麼想要校驗業務成功仍是失敗,就得須要進行斷言,斷言根據接口的響應進行斷言,通常主要斷言業務狀態碼以及messege等信息。ajax

 

 

 

 

 

 

怎麼判斷JMeter響應斷言成功?

 

舉個實JMeter斷言成功,在查看結果樹中請求是綠色,看不到斷言成功的信息。當JMeter斷言失敗的時候,結果樹中顯示爲紅色,能夠看到斷言失敗的信息。正則表達式

 

 

 

 

 

 

響應斷言

 

 

 

 

 

 

 

斷言頁面的解釋:

1、Apply to:
1.名稱:自行定義,就是節點的名稱
2.註釋:節點的註釋,容易理解的解釋
3.Apply to:斷言能夠應用於主樣本,子樣本或者二者。默認斷言是第二個,斷言應用於主樣本。
(1)Main sample and sub-samples:主樣本和子樣本
(2)Main sample only:僅主樣本
(3)Sub-samples only:僅子樣本
(4)JMeter Variable Name to use:JMeter使用變量名字,斷言將應用於命名變量的內容框架

使用說明:

通常狀況下,直接使用主樣本(默認)的斷言便可。由於大多數狀況下,只有主請求才會具備所必須的斷言數據,可是前端的JavaScript語言,有兩個框架ajax和jquery單個請求能夠在內部產生多個子請求,而且每一個請求都會有響應數據,因此說,大多數狀況下,進行主要採樣器的斷言就足夠了。工具

 

 

 

 

 

 若是斷言中選擇Main sample and sub-samples,那麼斷言就要校驗主採樣器和子採樣器的響應,看一下結果,除了主採樣器的響應中包含「退出登陸」,其餘的子採樣器的響應沒有「退出登陸」,因此會斷言失敗,其餘幾個是同理。測試

 

 

 

 

 

 

這裏講一下JMeter Variable Name to use:JMeter使用變量名字,斷言將應用於命名變量的內容。我嘗試了一下,能夠這樣用,有錯的麻煩提出。spa

 

 

 

 

 

 

 

 

斷言正確,若是正則中的變量名和斷言中的變量名不一致,斷言則會失敗。



3d

 

2、模式匹配規則(Pattern Mactching Rules)

 

1.包括(Contains):返回的結果包括所指定的內容,支持正則匹配blog

 

舉例:

 

接口的響應

 

 

 

 

 

 

 

 

進行斷言,斷言經過。

 

 

 

 

2.匹配:
與Equals幾乎同樣,都是斷言要和返回值徹底一致。不一樣的是,這裏支持正則,寫正則表達式時,正則表達式也要徹底和返回值匹配,纔可以經過。

3.Equals:
返回結果與你指定斷言徹底一致,不支持正則匹配。注意是徹底一致,這個只有一個特殊狀況會用到,通常不多用。
4.SubString
與「包括」功能相似,不一樣點爲,不支持正則匹配。
5.否
反之,非 的意思
6.或者
能夠爲多個值,可在下面,例如一個斷言裏面可能有兩個不一樣的判斷值,能夠選中去用,當知足一個要求的時候,就算成功。這個功能仍是能夠多用的,像上面那個例子,多斷言幾種狀況。



3、Custom failure message

當判斷返回值爲錯誤的時候,返回什麼信息。能夠在斷言結果內顯示。

 

 

 

 

 在查看結果樹中能夠看到剛纔填寫的斷言的信息

 

   

相關文章
相關標籤/搜索