0

我正在使用 Gatling 3。我有一个 csv 馈送器,其中只有一个标题为 accountIds 的列。我需要在我的 POST 请求正文中将其作为 JSON 传递。我尝试了很多不同的语法,但似乎没有任何效果。我也无法打印正文中实际发送的内容。如果我删除“$accountIds”并改用实际值,它会起作用。下面是我的代码:

val searchFeeder = csv("C://data/accountids.csv").random

val scn1 = scenario("Scenario 1")
  .feed(searchFeeder)
  .exec(http("Search")
  .post("/v3/accounts/")
     .body(StringBody("""{"accountIds": "${accountIds}"}""")).asJson)

setUp(scn1.inject(atOnceUsers(10)).protocols(httpConf))
4

1 回答 1

0

您是否在 logback.xml 中启用了跟踪级别以查看发布请求的详细信息?另外,您能否确认您提到的“C://data/accountids.csv”位置是否正确。通常,数据文件夹位于项目位置,在项目中,您可以通过以下方式访问数据文件:val searchFeeder = csv("data/stack.csv").random

我刚刚创建了示例脚本并启用了日志记录。我可以看到 accountId 正在通过:

package basicpackage
import io.gatling.core.Predef._
import io.gatling.http.Predef._

import io.gatling.core.scenario.Simulation

class StackFeeder extends Simulation {

  val httpConf=http.baseUrl("http://example.com")

  val searchFeeder = csv("data/stack.csv").random

  val scn1 = scenario("Scenario 1")
    .feed(searchFeeder)
    .exec(http("Search")
      .post("/v3/accounts/")
      .body(StringBody("""{"accountIds": "${accountIds}"}""")).asJson)

  setUp(scn1.inject(atOnceUsers(1)).protocols(httpConf))

csv文件位置

于 2019-09-15T14:47:41.207 回答