我想将一些响应存储为变量,稍后在我的测试中使用它们。我尝试在后处理器beanhell中使用以下内容:
response = prev.getResponseDataAsString();
vars.put("memID", response);
然而,我发现我正在" stdout:"和" stderr"也存储在变量中。如何在没有这些和额外空格的情况下存储响应?
编辑:下面的回复示例 -
stdout:
4281
stderr:
我只需要这个回复的号码4281。
答案 0 :(得分:3)
您需要使用regular expression
从响应中捕获任何内容,将其保存到名为Reference Name
的TextBox中的变量中。以下快照为例。
从上面的示例中,您可以在脚本中的任何位置使用total_quantity。
像这样 - > $ {total_quantity}
答案 1 :(得分:1)
\ d 匹配任何数字字符,等同。至[0-9]
+ 匹配1次或更多次
因此,您的正则表达式应该像(\d+)
演示:
有关详细信息,请参阅Regular Expressions手册章节。
另请注意,您可以使用View Results Tree监听器的“RegExp Tester”模式实时测试您的正则表达式实时响应,如上图所示。查看How to debug your Apache JMeter script文章,了解更多问题排查方法。
答案 2 :(得分:0)