龙空技术网

jmeter获取接口的请求入参

最爱棉被 75

前言:

眼前咱们对“java入参”大概比较重视,小伙伴们都想要分析一些“java入参”的相关知识。那么小编也在网络上汇集了一些关于“java入参””的相关内容,希望朋友们能喜欢,咱们快快来了解一下吧!

最近我们团队中的一位成员在编写jmeter脚本时,遇到了一个问题:在对某个接口的入参进行参数化后(不参数化,接口返回就正常),接口返回了一个"json格式错误"的提示。这个问题已经困扰了他整整两天,一直没有找到解决办法。

通常情况下,这种问题是由于在jmeter替换参数后,未正确处理转义符等导致的json格式错误。最终,我解决了这个问题。这是一个经典案例,我现在将解决方法记录下来。

首先,对接口进行分析,发现B接口(问题接口)入参的dataContent的值是个字符串,这个字符串的值是A接口的整个json入参。具体如下:

A接口的入参

B接口入参中dataContent的值

其次,在A接口请求新建一个jmeter BeanShell PostProcessor,在插件中,写入以下代码:

import org.json.*;

import com.alibaba.fastjson.*;

import java.io.*;

//获取接口中的请求参数

String request=ctx.getCurrentSampler().getArguments().getArgument(0).getValue();

log.info("request is:"+request);

//将获取接口中的请求参数,保存到key变量中

vars.put("key",JSON.toJSONString(request));

在B接口中,引用变量key

下载fastjson-1.2.78.jar包,放在jmeter的lib目录下

链接: 提取码:us67

标签: #java入参