在 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。
我有一个 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。