jmeter断言

感谢peakchao提供的API接口https://blog.csdn.net/c__chao/article/details/78573737

从中选择一个接口即可,我使用的是https://api.apiopen.top/todayVideo

1.查看结果

使用python+requests获取当前结果

import requests
url = "https://api.apiopen.top/todayVideo"
r = requests.get(url)
print(len(r.json()['result']))
print(r.json()['code'],r.json()['message'],len(r.json()['result']))
count=1
for i in r.json()['result']:
    print(count)
    print(i['data'])
    count+=1

结果如下:返回code(值),message(值),result(数组)
1418970-20190505103301571-213732891.png

2 使用Jmeter进行测试断言

2.1 响应后断言

判断响应中是否存在文本,可以指定多个文本
假如存在多个“成功”字段,会对断言造成干扰,最好使用多个文本匹配结果。
1418970-20190430202116519-2087911669.png

2.2 使用Json Path Assertion断言

1418970-20190505104110250-968018150.png

2.3使用BeanShell断言

2.3.1利用ResponseCode和返回内容长度进行判断
//ResonseCode要用equals判断
log.error(ResponseCode);
if(ResponseCode == 200){
    log.error("code == 200 true");
}else{
    log.error("code == 200 false");
}
if(ResponseCode == "200"){
    log.error("code == \"200\" true");
}else{
    log.error("code == \"200\" false");
}
if(ResponseCode.equals(200)){
    log.error("code equals 200 true");
}else{
    log.error("code equals 200 false");
}
if(ResponseCode.equals("200")){
    log.error("code equals \"200\" true");
}else{
    log.error("code equals \"200\" false");
}
//判断内容长度
String res = prev.getResponseDataAsString();
if(res==null||res.length()==0){
    Failure = true;
    FailureMessage = "no content";
}else{
    Failure = false;
    log.error("have content");
}

1418970-20190505104637407-95774556.png

2.3.2先利用json提取器获取message字段,再利用BeanShell断言

1418970-20190505104814674-1330303572.png

log.error("终端");
//只有引用类型才能使用equals。即使用equals,需要先添加双引号,转化为String类型

//if(${code}.equals(200)){
//  log.error("! equals 200 true");
//}else{
//  log.error("! equals 200 false");
//}

if(!"${code}".equals("0")){
    log.error("! equals \"200\" true");
    Failure = true;
}else{
    log.error("! equals \"200\" false");
    Failure = false;
}
// ==
if("${code}" == "200"){
    log.error("== 200 成功");
}else{
    log.error("== 200失败");
}

if(${code} == 200){
    log.error("== \"200\" 成功");
}else{
    log.error("== \"200\" 失败");
}

if("${message}".indexOf("成功")!=-1){
    log.error("message包含\"成功\"");
}else{
    log.error("message不包含\"成功\"");
}

1418970-20190505111841729-532468223.png

2.4 size assertion判断返回内容的大小

2.5 断言持续时间

如果耗时超过断言持续时间,断言错误

3 sample-添加监听器-断言结果,可以查看断言结果

转载于:https://www.cnblogs.com/csj2018/p/10810993.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值