【发布时间】:2021-06-03 05:23:42
【问题描述】:
我试图在 Jmeter 上获得 post_data[‘postcode’] 的值。我尝试使用以下代码使用 JSR223 PostProcessor 进行解析,但看起来我的代码无法找到该变量名。
回复:
<script type="text/javascript">
parent.$("#dialog:ui-dialog").dialog("destroy");
parent.$("#dialog-message div").html("");
var url = '';
var post_data = {};
post_data[‘user’] = “value1”;
post_data[‘city’] = “value2”;
post_data[‘postcode’] = “value3”;
post_data[‘country’] = “value3”;
</script>
JSR223 PostProcessor groovy 脚本:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
String stringToSearch=prev.getResponseDataAsString();
Pattern p = Pattern.compile("post_data[‘postcode’] = (\\w+)");
Matcher m = p.matcher(stringToSearch);
if (m.find()){
vars.put("postcode", m.group(1));
}
非常感谢任何帮助。
【问题讨论】:
-
当然可以,因为您使用
\w+而不匹配引号并且不要转义[。使用"post_data\\[[‘']postcode[’']]\\s*=\\s*[“'\"]([^\"”']+)[\"”']" -
嗨@WiktorStribiżew 谢谢。看起来它可能有效但也会引发错误,您对此有任何想法吗?
RROR o.a.j.e.JSR223PostProcessor: Problem in JSR223 script, JSR223 PostProcessor javax.script.ScriptException: groovy.lang.MissingMethodException: No signature of method: org.apache.jmeter.threads.JMeterVariables.log() is applicable for argument types: (java.lang.String) values: [value3]
标签: regex parsing groovy jmeter