我正在从beanshell到api进行dme2调用,并且从中获得响应,例如{“ stagedcustomerId”:“ 165ce369-a9fb-4d42-b8f0-f119a6ae20eb”} 所以现在我只想将客户id值传递给另一个beanshell采样器,以便在下一个api调用中作为jmeter中同一线程中请求主体中的参数之一。
请提出在这种情况下我们该怎么办。有什么办法可以做beanshell后处理器?
答案 0 :(得分:0)
您可以使用SampleResult的简写形式来定义Beanshell Sampler响应数据,例如:
SampleResult.setResponseData("{\"stagedcustomerId\":\"165ce369-a9fb-4d42-b8f0-f119a6ae20eb\"}","UTF-8")
完成后,您可以添加一个JSON Extractor作为Beanshell Sampler的子项,并按以下方式进行配置:
就这样,现在您将能够在其他Beanshell Sampler中以String id = vars.get("id");
的形式或在任何其他测试元素中以${id}
的形式访问提取的值。
也请注意,starting from JMeter 3.1 it's highly recommended to use JSR223 Test Elements and Groovy language用于编写脚本,因此请考虑在下一个可用机会上重构测试。