对返回结果进行断言
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(" ", "");//本实例为替换空格,换行使用\n
方法2:替换多种字符方法
2.1:Pattern + Matcher+replaceAll方法:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
Pattern p = Pattern.compile("\\s*|\t|\r|\n");
Matcher m = p.matcher(“1 1 1\n\t\r 1”);
String repl = m.replaceAll("");
2.2 replaceAll方法,下面是将xml字符串中的空格,*,!等替换为指定字符串
xml.replaceAll(" ","").replaceAll("*","******").replaceAll("!","!!!!!!");