我需要为HTTP请求的每个线程生成两次相同的JSON数据。我在JMeter中遇到问题。 我的结构是:
Test Plan
- HTTP Header Manager
- Thread Group 1 users, 5 loop
- Random Variable,
- HTTP Request
我尝试将Per Thread User的组合设置为true并使用种子进行随机功能,但我无法达到我想要的效果。它继续为每个循环生成新的数字/字符串。
基本上对于每个用户,我想要完全相同的JSON请求数据。
答案 0 :(得分:0)
我认为你的案件有三个决定:
Test Plan - HTTP Header Manager - Thread Group 1 users, 5 loop - User Defined Variables, (Name:varName; Value:${__Random(1,100)}) - HTTP Request
答案 1 :(得分:0)
我可以提出另一种解决方案,在我看来,这种解决方案冗长而笨拙,但没有其他想法。
使用BSF(或BeanShell)PreProcessor创建文件,并将随机变量的值写入文件。然后在每个请求之前读取文件。在下一个例子中,我使用了Groovy和BSF PreProcessor。
import java.util.Random
def out= new File('File1.txt') // create file if it is not exists
if(!out.exists())
{
out.createNewFile()
Random rand = new Random()
int max = 10
def a = rand.nextInt(max+1)
out << a // write text to file
}
//then read value of generated variable
String fileContents = new File('File1.txt').text
//then put your variable into User defined Variable that I named HELLO
vars.putObject("HELLO",fileContents)
在需要的请求中使用$ {HELLO}