如何在JMeter中使用HTTP POST请求发送可变长度列表或参数数组?

时间:2014-07-30 17:02:02

标签: arrays jmeter beanshell

我正在为ASP.NET Web应用程序进行JMeter负载测试,测试应该将一些数据发布到服务器。具体来说,他们应该为班上的所有学生发布成绩。但是,这些测试应该是通用的,因此它们可以在不同的学校中运行,并且配置稍有变化。

然而,这会在发布成绩时产生问题,因为post请求中的参数数量(类中的学生)可能因不同的运行而不同,甚至可能因线程而异。目前我只知道如何通过HTTP请求表单传递参数,如下所示: enter image description here

但是,在下一个线程中可能有saveModel.PupilOrderAndBehaviours[2]甚至最多30个。我可以直接从csv文件获得所有这些信息。也就是说,我可以提前告诉JMeter每个班级将有多少学生,以及他们每个人应该得到什么成绩,所以我不需要从之前的回复或类似的东西中读出来。

有没有办法,可能使用BeanShell,我可以配置JMeter来正确执行此操作吗?

1 个答案:

答案 0 :(得分:1)

可以使用Beanshell预处理器完成。

int count = 10;
for(int i=1;i<=count;i++) 
{
     sampler.addArgument("Parameter" + i, "Value" + i);
}

它添加了10个参数,如下面给出的@ run time。

enter image description here

请参阅本网站。

http://theworkaholic.blogspot.com/2010/03/dynamic-parameters-in-jmeter.html