我必须如何格式化我的馈线 csv 文件,才能将字符串元素列表注入我在 Gatling 中的 JSON 请求?

How do I have to format my feeder csv file, to inject a list of string elements into my JSON request in Gatling?

我在将字符串 ID 列表添加到我的 JSON 请求正文时遇到问题!我尝试了许多不同的格式样式...但无法弄清楚如何使用 JavaDSL 在 Gatling 中使其工作。

这是我的 csv 格式化尝试之一来表示列表:

playerId, dateIds
113489013, {"20210820TT", "20220211TT"}

这里是将我的 csv 数据输入 json 请求正文的代码:

public static ScenarioBuilder isPlayingScenario = scenario("is playing")
            .feed(playerIdFeeder)
            .exec(isPlaying);

public static final ChainBuilder isPlaying =
        exec(http(IS_PLAYING)
                .post(IS_PLAYING_URL + "#{playerId}")
                .headers(headers)
                .body(ElFileBody("data/requests/is-playing-request.json"))
                .asJson()
        );

这里是非常简单的请求正文,仅包含一个 ID 列表:

{
  "dateIds": ["#{dateIds}"]
}

此特定尝试解决为:

body:StringChunksRequestBody{contentType='application/json', charset=UTF-8, content={
  "dateIds": [" {"20210820TT""]
}}

所以它既不解析为有效的 JSON,也不包含第二个 ID... 非常感谢任何帮助!谢谢。

请正确阅读CSV specification,您的文件格式不正确。特别是:

  1. Fields containing line breaks (CRLF), double quotes, and commas should be enclosed in double-quotes. For example:
  "aaa","b CRLF
  bb","ccc" CRLF
  zzz,yyy,xxx
  1. If double-quotes are used to enclose fields, then a double-quote appearing inside a field must be escaped by preceding it with another double quote. For example:

    "aaa","b""bb","ccc"

您的文件应如下所示:

playerId, dateIds
113489013, "{""20210820TT"", ""20220211TT""}"