JSR223 多个断言

前言

在某个接口,需要断言多个json数据,网上给的方案是加个支持json list 的jar包,这个比较麻烦,使用JSR223很容易实现

实现:
1、首先加入jsr223 后置处理器获取变量数据

import groovy.json.JsonSlurper;
def jsonResponse = null;
def JSON = new JsonSlurper ();

if("200".equals(prev.getResponseCode())){
	jsonResponse = JSON.parseText(prev.getResponseDataAsString());
	if(jsonResponse.keySet().containsAll(["respx"])){ //判断status 200的时候获取数据
		vars.put("respx",jsonResponse.respx.toString())
		};
	if(jsonResponse.keySet().containsAll(["spx"])){
		vars.put("spx",jsonResponse.spx.toString())
		};
}

2、加入jsr223断言

在这里插入图片描述

def respx1= vars.get("respx")
def spx1= vars.get("spx")

if(respx1!=null || spx1=="200" ){ //respx1不为空或者spx1 为200d的时候才为成功
	AssertionResult.setFailure(false);
	}else{
		AssertionResult.setFailure(true);
		}

测试,JSR223 多个断言多性能的没有多大的影响。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JMeter中,可以使用断言来验证HTTP响应中的内容是否符合预期。如果需要断言多个结果,可以使用以下方法: 1. 使用多个断言组件:可以在同一个HTTP请求下使用多个断言组件,每个断言组件都验证HTTP响应中的一个结果。例如,可以使用“响应代码断言”组件验证HTTP响应代码,使用“响应数据断言”组件验证HTTP响应数据。 2. 使用正则表达式:可以使用正则表达式来验证HTTP响应中的多个结果。例如,可以使用以下正则表达式来验证HTTP响应数据中是否包含“result1”和“result2”: ``` (?s).*result1.*result2.* ``` 此正则表达式表示,在HTTP响应数据中查找“result1”和“result2”,并且它们之间可能包含任何字符(包括换行符)。 3. 使用JSR223断言:可以使用JSR223断言来编写自定义Java代码来验证HTTP响应中的多个结果。例如,可以使用以下Java代码来验证HTTP响应数据中是否包含“result1”和“result2”: ``` String responseData = prev.getResponseDataAsString(); boolean result1Exists = responseData.contains("result1"); boolean result2Exists = responseData.contains("result2"); AssertionResult result = new AssertionResult("Multiple Results Assertion"); if (result1Exists && result2Exists) { result.setFailure(false); } else { result.setFailure(true); result.setFailureMessage("HTTP response does not contain both results."); } ``` 此代码使用getResponseDataAsString()方法获取HTTP响应数据,然后使用contains()方法验证HTTP响应数据中是否包含“result1”和“result2”。最后,根据验证结果设置断言结果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值