在 Gatling 中使用 Json 内的进纸器

Using feeder inside Json in Gatling

我有一个 json 文件,如下所示,

 {
 "OrderRef": "Rand12345"
 "siteContactName": "ABC", 
  "siteContactNumber": "12345678", 
  "contactMobileNumber": "12345678", 
  "estimatedDeliveryDate": "2016-03-08", 
  "orderLines": [ 
    { 
      "productCode": "846581",
      "productName": "ABC",
      "quantity": 112, 
      "price": 5.01, 
      "vatAmount": 112.22 
    }, 
    { 
      "productCode": "938169",
      "productName": "DEF", 
      "quantity": 6, 
      "price": 45.03, 
      "vatAmount": 54.04 
    } 
  ]
 "orderNett": 831.30, 
  "orderVatAmount": 166.26, 
  "orderTotal": 997.56 
}

我必须将此 Json 作为正文发送到 post 请求,我必须在其中参数化 OrderRef、productCode 及其各自的 ProductName。

所以我创建了 2 个文件,即 orderref.csv 和 product.csv,其中 orderref.csv 有一个订单 ID 列表,product.csv 有一个产品代码列表及其各自的名字。当我尝试这个时,

class Order extends Simulation {

    val orderref = csv("orderref.csv").random
    val product = csv("product.csv").random

    val scn = scenario("OrderCreation")
    .feed(orderref)
    .feed(product)

    .exec(http("OrderCreation")
    .post("/abc/orders")
    .body("""
          {
     "OrderRef": "${orderref}"
     "siteContactName": "ABC", 
      "siteContactNumber": "12345678", 
      "contactMobileNumber": "12345678", 
      "estimatedDeliveryDate": "2016-03-08", 
      "orderLines": [ 
        { 
 // ProductCode and ProductName are the headers of the columns in my product.csv
          "productCode": "${ProductCode}",
          "productName": "${ProductName}",
          "quantity": 112, 
          "price": 5.01, 
          "vatAmount": 112.22 
        }, 
        { 
          "productCode": "${ProductCode}",
          "productName": "${ProductName}", 
          "quantity": 6, 
          "price": 45.03, 
          "vatAmount": 54.04 
        } 
      ]
     "orderNett": 831.30, 
      "orderVatAmount": 166.26, 
      "orderTotal": 997.56 
    }""").asJson)

    setUp(scn.inject(atOnceUsers(1)))
    }

我明白了

not found: value ProductCode
not found: value ProductName

但是正在接受 orderref。有什么建议吗

谢谢

Crystal 球:csv 文件中的空格。 CSV spec 表示不 trim。