4

我是 Jmeter 的新手,我的 http 请求正文如下:

{
   "List":{
      "ListAPPInfo":[
         {
            "first_time":"2013-06-24 10:00:00",
            "lasttime":"2013-06-24 10:00:00"
         }
      ],
      "device_id":"015d24a409441203",
      "device_model":"Nexus 7"
   }
}

我想发送带有随机参数的 Http 采样器,例如first_time从 2013-01-01 开始的值,到 2013-12-31 结束

4

1 回答 1

4

您想添加这种树节点的排序:

Simple Controller
  |_ HTTP Request Defaults
  |_ Your Request Controller
    |_ Random Variable Year
    |_ Random Variable Month
    |_ Other...

现在随机变量的参数:年份

Random Variable: 
Variable Name: RND_YEAR
Output Format: 0000
Minimum Value: 0000
Maximum Value: 2999

Random Variable: 
Variable Name: RND_MONTH
Output Format: 00
Minimum Value: 01
Maximum Value: 12

Random Variable: 
Variable Name: RND_DAY
Output Format: 00
Minimum Value: 01
Maximum Value: 30

和其他变量。

请注意,格式和值中的数字计数应该相等。

现在将这种文本${RND_VARIABLE}放入Your Request Controller请求中。

像这样:

{
   "List":{
      "ListAPPInfo":[
         {
            "first_time":"${RND_YEAR}-${RND_MONTH}-${RND_DAY} 10:00:00",
            "lasttime":"2013-06-24 10:00:00"
         }
      ],
      "device_id":"015d24a409441203",
      "device_model":"Nexus 7"
   }
}

保存并开始您的测试计划。

您可以使用 BeanShell 处理器生成随机日期 http://justjmeter.blogspot.ru/2012/04/2.html http://jmeter.apache.org/usermanual/functions.html

如果你想替换某个集合的随机字符串元素,你应该在 java.util 中编写自己的 beanshell 函数BeanShell PreProcessor

import java.util.Random;

enum locales {UK, RU};
Random randGenerator = new Random();
int randInt = randGenerator.nextInt(locales.values().length);
vars.put("randomLocale",locales.values()[randInt].toString());

然后像往常一样粘贴${randomLocale}到您的请求中。

于 2013-07-09T10:43:40.290 回答