JMeter如何将JSON的Config Element设置为有效负载

时间:2014-10-16 11:23:11

标签: jmeter

我正在使用JMeter进行负载测试我的应用程序。

作为有效载荷的一部分,我将3个参数发送到REST Webservice调用

ordersplitjson  = {"highPriceVendor": "VC4 Raj","vendors": {"T1": [{"item_ids_": "194","leaf": [{"orderid": "14101519","cust_id": "22"}],"vendor_id": "9"}]}}
customer_id  =  22
homedelivery  = Yes

我正在使用一个斜坡时间为100个用户加载测试应用程序2秒。

这是我配置的方式,这适用于静态有效负载

enter image description here

作为负载测试的一部分,我希望以每个请求的不同用户身份登录 (对于我想发送不同参数的每个请求的含义)

我想我不能使用 CSV DataSet配置,因为我有一个JSON作为有效载荷

任何人都可以让我知道如何使用不同的有效负载进行负载测试

1 个答案:

答案 0 :(得分:3)

您仍然可以按照以下方法之一使用CSV数据集配置

  • 选项1:将“Delimiter”从默认逗号“,”更改为不在JSON有效负载中的其他内容,即| ,将您的JSON有效负载放入CSV文件并使用它们。

  • 选项2:您不一定需要在CSV数据集元素中拥有完整的JSON,它可以配置为将多个值读入多个变量,即您的CSV文件将类似于

    VC4 Raj, T1, 194, 141519, 22, 9
    

CSV数据集配置中的变量名称将为

highPriceVendor, vendors, item_ids_, orderid, cust_id, vendor_id

在这种情况下,您可以将请求正文配置为:

{"highPriceVendor": "${highPriceVendor}","vendors": {"${vendors}": [{"item_ids_": "${item_ids_}","leaf": [{"orderid": "${orderid}","cust_id": "${cust_id}"}],"vendor_id": "${vendor_id}"}]}}

有关第二种方法的说明,请参阅Using CSV DATA SET CONFIG指南。