线程中的JMeter变量范围

时间:2015-06-16 15:07:34

标签: jmeter

我有一个JMeter测试,它执行以下操作:

  • 发出GET请求。请求返回一些由Regular Expression Extractor提取的ID,并设置为变量myId
  • 使用myId中存储的此ID进行另一个GET请求。重要的是使用之前请求返回的相同ID。没有任何其他ID!

这个简单的场景运行正常。但是当我将“线程数(用户数)”从1增加到(比方说)5时,我遇到了并发问题:

enter image description here

  • 线程1发出GET请求并将ID分配给myId
  • 线程2发出GET请求并将ID分配给myId
  • 现在线程1再次运行并发出第二个GET请求,但是由于线程2更改了它,所以ID错误。现在一切都破了。

我该如何避免这种情况?

1 个答案:

答案 0 :(得分:1)

当您使用相同名称作为参考 myId 时,如果在第二次提取中它找不到任何内容,那么myId将包含之前提取的值。

你可以做些什么来检查这个,就是输入默认值字段:

  

nv_myId

按照:

您可以使用Debug Sampler来显示变量内容