介面測試斷言詳解 Jmeter

2021-09-25 07:25:00 字數 1670 閱讀 6558

介面測試是目前最主流的自動化測試手段,它向伺服器傳送請求,接收和解析響應結果,通過驗證響應報文是否滿足需求規約來驗證系統邏輯正確性。介面的響應型別通過content-type指定,常見的響應型別有:

• text/html : html格式

• text/plain :純文字格式

• text/xml : xml格式

• 響應斷言可以驗證任意格式的響應報文

• json斷言適用於json格式的響應報文

相應斷言

• sub-samples適用於傳送乙個請求同時觸發多個子請求的情況,一般情況下推薦使用main sample only,僅校驗發起的請求響應。對跟隨重定向的請求,重定向後的請求是主請求。

• jmeter variable可對sampler中生成的jmeter變數進行校驗,此處寫明變數名。

要測試的響應字段(可通過取樣器結果檢視)

• 響應文字:最常用的選項,伺服器的響應文字(不包含響應頭資訊)

• document(text):除了文字響應還支援 pdf/ office/ audio/ video ,apache tika 解析伺服器響應內容,很耗記憶體而且很容易解析失敗,非特殊需求不建議使用此選項。

• response headers:響應頭

• url樣本: 請求url,如果有重定向包含重定向url

• 響應**:http返回的響應碼

• 響應資訊: 響應**對應的響應資訊eg:ok(200),可在結果樹中檢視**和資訊

• ignore status: 當http 響應**為400/500時,jmeter預設請求失敗,要驗返回碼為500需勾選ignore status。sampler下多個斷言是疊加作用的,只要有乙個斷言勾選了ignore status就可以。

響應斷言:模式匹配

• 包括:支援純文字和正則,驗證返回包括指定的內容

• 匹配:支援純文字和正則,正則需全匹配(正則必須匹配全部返回,而非部分返回)

• equals:字串相等,純文字匹配,驗證返回結果和指定結果完全一致

• substring:字串包含,純文字匹配,驗證返回結果包含指定結果

• 否:結合上述條件取反,若上述斷言結果為false,取否後,最終斷言結果為true

json斷言

json斷言是針對json報文的斷言方式,通json path提取出json響應報文中的字段,再採用純文字或者正則去驗證json path的提取結果,json結合了json path和正規表示式,有如下選項:

• additionally assert value:文字驗證,此處是完全匹配,勾選上此選項後再勾選match as regular expression,可以觸發正則匹配。

• match as regular expression:支援正規表示式匹配

• expect null:判定返回為null

響應斷言和json斷言可以涵蓋大部分的介面校驗需求,針對更加複雜的介面校驗需求,比如資料庫校驗,比如複雜計算邏輯的校驗 ,可通過beanshell斷言元件編寫指令碼來實現斷言。

作  者:testfan kitty

介面測試 apipost介面斷言詳解

在做介面測試的時候,會對介面進行斷言,乙個完整的介面測試,包括 請求 獲取響應正文 斷言。apipost的斷言設定實在後執行指令碼中進行編寫的。apipost本身提供了11中斷言 apt.assert response.raw.responsetext test 測試響應內容是否為test apt....

jmeter斷言操作詳解

一 斷言簡介 jmeter中有個元件叫做斷言 assertion 用於檢查測試中得到的響應資料等是否符合預期,用以保證效能測試過程中的資料互動與預期一致。使用斷言的目的 在request的返回層面增加一層判斷機制 因為request成功了,並不代表結果一定正確。使用斷言的方法 在選擇的sampler...

jmeter 響應斷言詳解

響應斷言 對伺服器的響應進行斷言校驗 1 應用範圍 main sample and sub sample,main sample only sub sample only jmeter variable 關於應用範圍,我們大多數勾選 main sample only 就足夠了,因為我們乙個請求,實質...