我正在尝试生成一个jmeter脚本,每次运行脚本时都会创建一个唯一的文件夹 - 将某种类型的变量添加到文件夹名称(例如用户名+时间戳)应该足以保证唯一性.但是,jmeter不会将变量解析为其值 - 尽管是从csv文件读取变量时(不适合).
基本上,我正在http请求中编辑PostBody,如下所示:
{ "alf_destination": "工作空间:// SpacesStore/90368635-78a1-4dc5-be9e-33458f09c3f6", "prop_cm_name": "测试文件夹 - $ {}变量", "prop_cm_title": "测试文件夹", "prop_cm_description": "测试文件夹"}
其中variable基本上是迄今(诸如随机串,时间戳等)我已经试过任何变量
任何人都可以建议如何解决变量?
z2z*_*z2z 25
您可以使用jmeter(自2.9版本)uuid功能 - > http://jmeter.apache.org/usermanual/functions.html#__UUID
${__UUID}
Run Code Online (Sandbox Code Playgroud)
和
1)如果您只需要1个值进行整个测试,请在测试中添加"用户定义的变量"配置元素.第一次加载测试脚本时将对此进行评估.
2)如果要为每个线程执行更改值,但在每个线程实例期间保持不变:在"线程组"下,向线程组添加"预处理器 - >用户参数" - 并添加变量那里.
此外,如果您希望每次线程重新开始时更改值(线程组内脚本的每次'迭代'),您可以检查用户参数上的"每次迭代更新一次"框 - 它将获得一个每次在测试脚本开始时(在该线程组内)启动线程时的新值.
Ris*_*nha 13
使用JMeter 2.9,以下工作:
在HTTP Request Sampler中,选项卡"Post Body"添加例如您的JSON数据并在其中包含变量:
{"uuid":"${new-uuid}"}
Run Code Online (Sandbox Code Playgroud)
new-uuid是用户定义的变量.这将发送(从查看结果树,选项卡"请求"/"原始"):
POST data:
{"uuid":"a1b2c3d4e5f6"}
Run Code Online (Sandbox Code Playgroud)
我是通过在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);
Run Code Online (Sandbox Code Playgroud)
因此,这会创建一个包含用户名(${uname},从csv提取)和一个随机数的文件夹-这很粗糙,因为在某些情况下脚本可能会尝试创建一个与现有文件夹同名的文件夹,但是它将起作用就我而言
| 归档时间: |
|
| 查看次数: |
50557 次 |
| 最近记录: |