Jmeter 的自帶斷言方式有很多種,以下就常用的兩種斷言方式簡單介紹一下:
第一種:響應斷言(Response Assertion),這種斷言應該是新手比較常用的一種,畢竟操作簡單。但這種斷言形式,在做接口自動化時,就沒有那么方便,不能打印自己想打印的內容。
具體操作如下:
1、選擇取樣器->Add->Assertion->Response Assertion 進入到斷言設置頁面。
2、在Response 面板上可以根據具體的需求進行設置
3、實際運行結果
第二種:Beanshell Assertion 斷言,不管是在性能測試、單接口測試、接口自動化測試上都及利於對斷言結果進行分析的。
具體操作下:
1、選擇取樣器->Add->Assertion->Beanshell Assertion 進入到beanshell 頁面。
2、實際運行結果
//獲取響應內容 String response_value = prev.getResponseDataAsString(); //獲取響應碼 response_code = prev.getResponseCode(); //斷言內容,如果是做接口自動化時,可以直接讀取csv文件的斷言內容 //這里只是單接口調試而已,因此,就自定義兩個斷言的變量來存放斷言內容。 String assert1 = "\"status\":\"false\""; String assert2="\"message\":\"購物車添加成功!\""; //Failure是jmeter內置的變量,為false時,表示斷言成功,不會拋出錯誤,為true時,表示斷言失敗; //FailureMessage是jmeter內置的變量,用來打印斷言失敗后,需要顯示的內容。 if(response_value.contains(assert1) && response_value.contains(assert2)){ Failure = false; return; }else{ Failure=true; String massage = "\n\t\t斷言失敗!" +"\n" + "斷言1:"+assert1 +"\t斷言2:"+ assert2 +"\n\n響應信息如下:\n"; FailureMessage=massage+"響應碼為:"+ response_code+"\n"+"響應內容為:"+response_value; return ; }
當然Beanshell Assertion 斷言方式還有做其他的操作,暫時不在此進行介紹!