在运行时在JMeter中参数化参数中包含的XML内的标记值

时间:2016-06-09 17:19:52

标签: jmeter

我将整个XML保存在数据库表中,并在JDBC采样器中获取XML并在HTTP采样器中使用它。我想在运行时参数化此获取的xml中的特定标记值内的值。有人能告诉我该怎么做。提前致谢

在http sampler中==>邮寄身体

xmldoc = ${xmlfromdb}

这里可以获取整个XML,我可以成功提交。如何在运行时参数化此获取的xml中的标记值。

1 个答案:

答案 0 :(得分:0)

您可以通过以下脚本执行此操作:

  1. 添加Beanshell PreProcessor作为HTTP请求采样器的子项
  2. 将以下代码放入预处理器"脚本"区域

    String body = sampler.getArguments().getArgument(0).getValue();
    body = body.replace("Original Tag Value", "New Tag Value");
    sampler.getArguments().removeArgument(0);
    sampler.addNonEncodedArgument("", body, "");
    
  3. sampler是Beanshell(以及其他一些测试元素)的预定义变量,它代表父Sampler实例,如果是HTTP Request,它是HTTPSamplerProxy。有关可用方法和字段的更多信息,请参阅JavaDoc;有关在JMeter脚本中使用Beanshell测试元素中的JMeter和Java API的更多信息,请参阅How to Use BeanShell: JMeter's Favorite Built-in Component文章。