在Jmeter中,我创建了一个与Oracle的数据库连接,并执行以下查询。
select address , city , zip from table where city='Delhi';
现在这是结果:
212 Kamla nagar Delhi 11011
现在我想使用正则表达式将它用于3变量,并将所有这3个参数传递给另一个soap请求。
我尝试将正则表达式用作(\d+)
,但它只将值存储在变量1中。
如何提取值并在另一个请求中使用它们?
答案 0 :(得分:0)
您可以使用JDBC预处理器,并使用Variable names
或Result variable name
您在Variable names
框中指定的地图会映射到您的查询返回的各个列,您可以通过说columnVariable_{index}
来访问这些列。
<强> OR 强>
您在Result variable name
中指定的那个包含整个结果集,实际上这是一个映射到值的列表。在这种情况下,上述语法显然不起作用。您必须通过BeanShell
访问它并创建变量。
...然后您可以在soap请求中将这些变量用作${name_1}
,${city_1}
,${zip_1}
来访问来自DB的值。或${name}
,${city}
,${zip}
如果您使用Result variable name
对象
答案 1 :(得分:0)
按如下方式配置JDBC Sampler:
即。将下一行添加到&#34;变量名称&#34;输入:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js">
</script>
<button id="button">click</button><br>
part1<br>
<div id="part1"></div><br/>
part2<br/>
<div id="part2"></div>
您将能够以下列方式访问提取的值:
address, city, zip
${address_1}
${city_1}
稍后在脚本中。 ${zip_1}
代表结果集行,即如果JDBC响应中有2行 - 1
代表第1行地址,${address_1}
代表第2行地址等。
有关详细信息,请参阅Debugging JDBC Sampler Results in JMeter文章。