生成并存储随机变量

时间:2018-03-18 00:21:53

标签: jmeter

我正在尝试创建一些动态用户定义变量,在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(

如何设置它以便我可以生成随机字符串,使用它们来创建新帐户并将信息保存到文件中?感谢

1 个答案:

答案 0 :(得分:1)

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

  

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

User Parameters 正在创建与用户定义变量相同的变量,但可以覆盖过去的值

  

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