我正在尝试使用REST API在Jmeter中同时创建10个用户。 测试数据,即输入来自CSV文件(用户的详细信息,如用户名,姓氏,移动设备)
为此,我添加了一个线程组,用户定义变量,HTTP标头管理器,HTTP请求采样器(成功登录到Web应用程序),JSON PATH EXTRACTOR(提取auth标记,将在添加用户时使用)
要添加用户,我使用了一个"循环控制器" - " HTTP请求采样器" - HTTP标头管理器,CSV数据集配置。
并跟踪结果,查看结果树和汇总报告。
请告诉我我传入的参数的语法是什么" Body Data" HTTP请求采样器的一部分,以便它可以从csv文件中读取值。
以下是我现在用来添加单个用户的语法。
{
"phoneNo": "9998885551",
"lastName": "john25",
"email": "azp25@gmail.com",
"firstName": "ricky25",
"mobileNo": "9820420420"
}
答案 0 :(得分:45)
如果您的CSV文件如下:
9998885551,john25,azp25@gmail.com,ricky25,9820420420
9998885552,john26,azp26@gmail.com,ricky26,9820420421
....
配置应如下:
phone,lastname,email,firstname,mobile
,
根据您的测试场景填充其他值,即您是否希望测试停止在.csv文件结束或重新旋转等等。
您的HTTP请求应如下所示:
重点是CSV数据集配置中定义的变量需要与HTTP请求中的变量匹配。
有关详细说明,请参阅Using CSV DATA SET CONFIG指南。
我还建议将以下条目添加到HTTP标头管理器:
Content-Type
application/json
否则,您的请求将被视为纯文本,可能会失败。
另外,请不要忘记禁用View Results Tree侦听器以进行实际的负载测试运行,因为它会消耗大量资源并可能导致JMeter端出现内存不足错误。
答案 1 :(得分:2)
另外,如果你的formparam \ Body数据包含多个这样的参数:
UserName=abc
password=abc123,
不是为userName和password创建两列,而是可以在单列中给出,如下所示:
UserName=abc&password=abc123
这样你就可以遍历多个不同的URL,这些URL需要不同数量的bodydata
例如:如果URL1仅使用用户名作为正文数据而URL2采用用户名&密码作为正文数据,上面将是一个简单的解决方案。