Jmeter 生成并存储随机变量

Jmeter 生成并存储随机变量,jmeter,Jmeter,我试图创建一些动态的用户定义变量,在JMETER的http请求中使用它们,并将它们保存到文件中。基本上,我正在测试帐户的创建,并希望保存我创建的帐户 问题是,当我使用用户定义变量然后设置如下值时,它只生成一次随机字符串,,并且在后续循环中使用相同的数据,并且由于电子邮件已经存在而失败: FIRSTNAME1 Bob${__RandomString(10,abcdefghijklmnopqrstuvwxyz,)} LASTNAME1 Surname${__RandomStri

我试图创建一些动态的用户定义变量,在JMETER的http请求中使用它们,并将它们保存到文件中。基本上,我正在测试帐户的创建,并希望保存我创建的帐户

问题是,当我使用用户定义变量然后设置如下值时,它只生成一次随机字符串,并且在后续循环中使用相同的数据,并且由于电子邮件已经存在而失败:

FIRSTNAME1      Bob${__RandomString(10,abcdefghijklmnopqrstuvwxyz,)}
LASTNAME1       Surname${__RandomString(10,abcdefghijklmnopqrstuvwxyz,)}
EMAIL1          Bob${__RandomString(10,abcdefghijklmnopqrstuvwxyz,)}@emailaddres.com
要将此文件保存到文件,我使用:

name1 = vars.get("EMAIL1");
name2 = vars.get("FIRSTNAME1");
name3 = vars.get("LASTNAME1");

f = new FileOutputStream("C://test/Register_new_user_Jmeter.csv", true); 
p = new PrintStream(f); 
this.interpreter.setOut(p); 
p.println(name1 + "," + name2 + "," + name3);
f.close(
我如何设置它,以便生成随机字符串,使用它们创建新帐户,并将信息保存到文件中?谢谢

是的,用于定义一次(静态)变量,请使用其他组件,尤其是用于动态值的用户参数

如果运行时元素(如用户参数预处理器或正则表达式提取器)定义了一个与其中一个UDV变量同名的变量,那么这将替换初始值,线程中的所有其他测试元素将看到更新后的值

创建的变量与用户定义的变量相同,但可以覆盖以前的值

如果线程数多于值,则会重复使用这些值。例如,这可用于为每个线程分配一个不同的用户id。用户变量可以在任何JMeter组件的任何字段中引用


你说代码在循环中,但是我没有看到循环。也许您应该粘贴整个代码。如图所示,名称1、2和3仅初始化一次。如果您希望每次生成的名称都不同,那么可以使用相同的变量,然后在“循环”主体的每次迭代中用函数重新分配它们的值。我的意思是有一个JMeter线程,我在那里设置了循环。上面的代码片段在循环中的beanshell处理器中。哦,做得很好!非常感谢你。工作得很好。