繁体   English   中英

无法移至变量完​​整响应-Groovy Jmeter

[英]Can not move to variable full response - Groovy Jmeter

我在Jmeter中遇到无法解决的问题。 我想创建一个发送请求并获得响应的测试。 响应是url编码。 因此,首先,我需要将响应放入变量中,然后对其进行url解码。 1.我创建了正则表达式,并将响应放入变量名“ full_response”中,如您在结果中看到的那样,它已按预期保存。 2.我创建了一个普通的采样器步骤,只想传递“ full_response”并打印它,以了解它已通过。 它并不会仅打印3个字母就显示所有答复。 (我认为是因为响应是URL ENCODE)。 有人可以建议如何将此变量传递给groovy脚本吗? 比打印呢? 目的是对结果进行URL解码并在其上声明!! 我如何将结果放入groovy采样器的“ reponse_before_decode”变量中,而不是对其进行url解码。 在调试样我看到我在常规采样产生是不是因为反应是具有特殊字符的response_before_decode变量? 我不能通过它整体>? (请参阅带有正则表达式的完整响应变量中的响应)

def reponse_before_decode = args[0] as String;
def reponse_before_decode_2 = args[0];

System.out.println ("re" + '$full_response');
System.out.println ("full" + reponse_before_decode_2);
System.out.println ("full" + reponse_before_decode);

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

在此处输入图片说明

  1. 切勿在${full_response}类的Groovy脚本中引用JMeter变量或函数,请改用vars.get('full_response')因为它可能与GStringTemplates冲突
  2. 您不需要使用正则表达式提取器临时步骤,可以从JSR223 Sampler访问先前的Sampler结果,如下所示:

     def reponse_before_decode = ctx.getPreviousResult().getResponseDataAsString() 

    ctx代表JMeterContext类实例的位置

  3. 最后,JMeter带有__urlDecode()函数 ,可用于解码x-www-form-urlencoded字符串。 请参阅Apache JMeter函数-入门以熟悉JMeter函数的概念。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM