介面測試是目前最主流的自動化測試手段,它向伺服器傳送請求,接收和解析響應結果,通過驗證響應報文是否滿足需求規約來驗證系統邏輯正確性。介面的響應型別通過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 就足夠了,因為我們乙個請求,實質...