我正在点击一个http网址,需要将网址内容输入jmeter中的属性。 我已经从url完成了提取部分,但无法使用jmeter将值存储在属性中。
例如 请求就像 http://url/user=admin,password=admin
我需要jmeter中的属性
property1(用户)=管理员 属性(密码)=管理员
答案 0 :(得分:2)
鉴于您已经提取了所需内容,可能更容易使用__setProperty()函数,如:
${__setProperty(foo,bar,)}
创建“foo”属性,其值为“bar”
如果您仍想使用“Beanshell”方式,可以使用props
速记,它提供对JMeter属性的读写访问权限(实际上是java.util.Properties的实例),用于属性操作。
Beanshell脚本:
props.put("foo", "bar");
将创建一个值为“bar”的属性“foo”。
回到您的用例,如果您的网址看起来像http://example.com/?user=admin&password=admin
,请使用以下Beanshell代码:
Map parameters = ctx.getCurrentSampler().getArguments().getArgumentsAsMap();
String user = parameters.get("user");
String password = parameters.get("password");
props.put("user", user);
props.put("password", password);
应该做你需要的。有关JMeter中Beanshell脚本的更多信息,请参阅How to Use BeanShell: JMeter's Favorite Built-in Component指南。