对返回结果进行断言

import com.alibaba.fastjson.*;

//获取上一个请求的返回
if ((prev.getResponseCode() != null) && (prev.getResponseCode().equals("200") == true)) {
 String resp = prev.getResponseDataAsString();
 JSONObject json = JSON.parseObject(resp);
 int status = json.getIntValue("status");

     //判断返回值是否和预期一致
 if (status != 0) {
     //把断言失败置为真,即用例失败,并在结果树中显示FailureMessage
     Failure = true;
     FailureMessage = "事件校验失败,click模式register.php请求返回错误";
 }
}else{
 log.error("click验证--fullpage--get接口请求失败:" + prev.getResponseDataAsString());
 Failure = true;
     FailureMessage = "事件校验失败,click模式register.php请求失败";
}


import org.json.*;
//需要导入fastjson-1.2.49.jar至JMeter/lib目录下,解析json
import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;
//获取返回结果Base64加密
String json_res = prev.getResponseDataAsString();
//对加密字符串进行Base64解密
String json_Base64 =“${__base64Decode(json_res,)}”;
//获取返回json报文中的指定字段key值,本实例为获取aa的值
//String json_key =JSON.parseObject(json_Base64).getString("aa");
//判断返回的结果是否包含aa,如果包含则AAjson为true,不包含则为false
boolean AAjson = json_Base64.contains("aa");
//AAjson为false时,将请求置为失败 
if(! AAjson){
//BeanShell Assertion设置失败请求如下:
//Failure =true;
//JSR223 Assertion设置失败请求如下:
AssertionResult.setFailure(true)
}

注:如果返回数据中有换行,空格导致报错,可以使用以下方法进行替换
方法1:替换1种方法
String string = “1 1 1 1”.replaceAll(" ", "");//本实例为替换空格,换行使用

方法2:替换多种字符方法
2.1:Pattern + Matcher+replaceAll方法:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
Pattern p = Pattern.compile("\s*| | | ");

Matcher m = p.matcher(“1 1 1 1”);

String repl = m.replaceAll("");
2.2 replaceAll方法,下面是将xml字符串中的空格,*,!等替换为指定字符串
xml.replaceAll(" ","").replaceAll("*","******").replaceAll("!","!!!!!!");

原文地址:https://www.cnblogs.com/jingdenghuakai/p/13188065.html