我们有一个CURL
命令,它基本上将运行状态推送到仪表板。下面是带有虚拟URL的命令。
该命令必须向仪表板发送两个信息详细信息; info
和info
,其中包含内容Text is missing
和Please check.
从任何Linux
框执行时,此curl命令正在正常运行,并且{{1}中发送的信息正在显示但是当我们尝试从JSON
运行相同的命令时,它正在成功运行,但仅JSON中的信息不会进入仪表板。
Jmeter Beanshell
我们尝试在beanshell中添加额外的标头String command = "curl -X POST -d \"status=GREEN\" -d 'info={\"error\":[{\"info\":\"Text is missing\"},{\"info\":\"Please check.\"}]}' abc.com/api/run-dashboard/apikey=456655656";
Process p = Runtime.getRuntime().exec(command);
p.waitFor();
#to display the output-
BufferedReader in = new BufferedReader(new InputStreamReader(p.getInputStream()));
StringBuilder everything = new StringBuilder();
String line;
while( (line = in.readLine()) != null)
{
everything.append(line);
}
in.close();
log.info("OUTPUT: " + everything.toString());
}
但是徒劳无功。
有人可以让我们知道我们的命令中缺少什么,这些命令是从Beanshell发送的,因为没有显示JSON数据的原因。我们添加任何其他标题详细信息。