Jmeter httprequest post正文中的变量

Jmeter httprequest post正文中的变量,jmeter,Jmeter,我正在尝试生成一个jmeter脚本,在该脚本中,每次运行脚本时都会创建一个唯一的文件夹-向文件夹名称添加某种类型的变量,例如用户名+时间戳,应该足以保证唯一性。然而,jmeter并没有将变量解析为它的值——尽管它是在从csv文件中读取变量时解析的(这是不合适的) 基本上,我正在http请求中编辑PostBody,如下所示: {"alf_destination":"workspace://SpacesStore/90368635-78a1-4dc5-be9e-33458f09c3f6","pro

我正在尝试生成一个jmeter脚本,在该脚本中,每次运行脚本时都会创建一个唯一的文件夹-向文件夹名称添加某种类型的变量,例如用户名+时间戳,应该足以保证唯一性。然而,jmeter并没有将变量解析为它的值——尽管它是在从csv文件中读取变量时解析的(这是不合适的)

基本上,我正在http请求中编辑PostBody,如下所示:

 {"alf_destination":"workspace://SpacesStore/90368635-78a1-4dc5-be9e-33458f09c3f6","prop_cm_name":"Test
 Folder - ${variable}","prop_cm_title":"Test
 Folder","prop_cm_description":"Test Folder"}
其中
variable
基本上是我迄今为止尝试过的任何变量(如随机字符串、时间戳等)


有人能建议如何解析变量吗?

我是通过引用http请求帖子正文中的一个变量来实现的-
${formvalues}
-使用附加到http请求采样器的beanshell预处理器创建的。
beanshell内容:

double random = Math.random();    
String formvalues ="{\"alf_destination\":\"workspace://SpacesStore/90368635-78a1-4dc5-be9e-33458f09c3f6\",\"prop_cm_name\":\"Test Folder - ${uname}_" + random + "\",\"prop_cm_title\":\"Test Folder\",\"prop_cm_description\":\"Test Folder\"}";         
vars.put("formvalues",formvalues);

因此,这将使用用户名(
${uname}
,取自csv)加上一个随机数创建一个文件夹-这是粗糙的,因为可能仍然存在脚本尝试创建与现有文件夹同名的文件夹的情况,但它将适用于我的情况。

对于JMeter 2.9,以下工作:

在HTTP请求采样器中,选项卡“Post Body”添加JSON数据,并在其中包含变量:

{"uuid":"${new-uuid}"}
新uuid
是用户定义的变量。 这将发送(从查看结果树,选项卡“请求”/“原始”):

您可以使用jmeter(自2.9版起)uuid功能->

1) 如果整个测试只需要1个值,请添加“用户定义” 变量”配置元素添加到测试中。这将在以下时间进行评估: 第一次加载测试脚本

2) 如果要更改每个线程执行的值, 但在每个线程实例中保持不变:在“线程”下 组”,将“预处理器->用户参数”添加到线程组 -然后在那里添加变量

另外,如果希望每次线程重新开始时都更改该值 (线程组中脚本的每次“迭代”),您可以 选中用户参数上的“每次迭代更新一次”框-和 它将在每次启动线程时获得一个新值 测试脚本的开始(在该线程组内)


假设jmeter变量“Location”中有值“NewYork”

在HTTP POST正文数据中这样使用它:


{location:${location}}
=>在jmeter 2.11中被解释为
{location:“NewYork”}

,它处理HTTP json POST正文中的任何随机变量。它在jmeter 2.13中处理,在请求正文中放置${uuuuid}
POST data:
{"uuid":"a1b2c3d4e5f6"}
${__UUID}