使用JMeter PreProcessor和用户变量逻辑

时间:2015-07-07 09:55:21

标签: jmeter

我是JMeter的新手,这可能是一个愚蠢的问题,但我仍然觉得很难理解这个概念。

我有一个简单的测试。

  1. 具有循环计数为2
  2. 的单个线程的线程组
  3. 放置两个的预处理器 变量图上的变量
  4. 基于两次执行请求的循环 关于PreProcessor参数
  5. 我预计预处理器会初始化参数,它会在请求中使用两次相同的值。

    看起来它正在执行PreProcessor一次调用。

    当我使用类似的用户定义变量切换PreProcessor时,它会在每次调用时重复使用相同的值。

    有人能解释这里的逻辑吗?

    enter image description here 我正在使用JMeter 2.11

2 个答案:

答案 0 :(得分:1)

每次执行HTTP请求时都会执行一个PreProcessor,所以如果你总共有2次迭代,你应该看到两次日志,你有4次,所以也许迭代次数与你的写入或你有2次不同线程。

使用“用户定义变量”时,将计算一次值,然后重复使用。每个帖子的价值会有所不同。

答案 1 :(得分:1)

阅读完文档后,使用#UBIK LOAD PACK帮助我使用了用户变量并且它有效 enter image description here 用户变量 - 特定于各个线程。

预处理器附加到Sampler元素(例如我们的http请求),然后它将在该sampler元素运行之前执行 所以4请求不同的参数,因为它在每个请求之前运行

用户定义的变量 - 无论放置在何处,都会在测试开始时进行处理。为简单起见,建议元素仅放置在线程组的开头。这就是我一直得到相同值的原因