JMeter-将值作为字符串传递

时间:2019-08-20 07:37:38

标签: javascript parameters jmeter

我正在使用JMeter从一个HTTP调用中获取数据,并使用它进行另一个HTTP调用。我从第一次调用中正确获取了数据,然后使用JSR223 PostProcessor with Javascript通过以下语句保存了数据:

var processId = vars.get("processId");
vars.put("processId", processId);

它可以工作,但是问题是ID被保存为数字,但是我需要将它作为String传递给第二个HTTP调用的JSON。我尝试过:

var processId = vars.get("processId")+"";

但仍然是一个数字。我该如何实现?谢谢。 enter image description here

2 个答案:

答案 0 :(得分:0)

您可以为此目的使用JSR223采样器/预处理器/后处理器。在JSR223中设置以下属性。将该变量声明为String。

Language = groovy

enter image description here

enter image description here

之后,您可以使用vars.put()将其设置为另一个变量。

答案 1 :(得分:0)

  1. 您无需进行脚本编写即可在请求之间传递数据,只需在需要时使用${processId}(即在第二个HTTP Sampler中),即可解决该问题。实际上,您的脚本现在除了消耗资源以调用Nashorn解释程序外,什么也没做,只是用自身覆盖JMeter Variable值。
  2. Since JMeter 3.1 you should be using Groovy language in JSR223 Test ElementsGroovy scripts can be compiled into bytecode and cached一样,以避免在每次调用脚本时重新处理。
  3. 如果需要操作其他类型,请使用vars.put()vars.get()函数以String形式期望并返回变量值-使用vars.putObject()vars.getObject()代替