【发布时间】:2020-04-30 07:30:54
【问题描述】:
我是 gatling 脚本的新手。我正在尝试对我们应用程序的一个 POST api 执行性能测试。此 POST 请求 API 需要传递表单数据。
EG : 请求正文的邮递员集合的打印屏幕
为此,我准备了如下的加特林代码:
.exec(http("POST Explore JSON")
.post("/sunrise/explore_json/")
.header("Content-Type", "application/x-www-form-urlencoded")
.header("Referer", "https://example.com/sunrise/dashboard/dummy_dashboard/")
.header("x-csrftoken", "${csrf_token1}")
.queryParam("form_data","{\"slice_id\":4}")
//.formParam("form_data","datasource":"2__table") ----------> Tried Method 1
//.formParamSeq(Seq(("form_data", "datasource":"2__table"))) ----------> Tried Method 2
//.formParamMap(Map("form_data" -> "datasource":"2__table")) ----------> Tried Method 3
//.form("""form_data={"datasource":"2__table"}""") ----------> Tried Method 4
不幸的是,gatling 没有按照我的意愿传递表单数据,目前 gatling 传递表单数据的方式是:
form_data: {"datasource":"2__table"}
我想通过的方式是:(请注意我已删除“:”和以下“空格”)
form_data={"datasource":"2__table"}
我尝试了很多很多方法,但我无法像上面那样成功传递表单数据
有什么方法可以让我通过 form_data={"datasource":"2__table"} 吗?
【问题讨论】:
-
撇开您通过将 JSON 对象作为表单数据发送来混合请求方法这一事实,通常这就是表单数据的发送方式 (
key: value)。您能否检查 Postman 上的控制台以确认它是以key=value发送的?
标签: scala performance-testing gatling scala-gatling