【问题标题】:CSV Feeders for gatling 3用于加特林 3 的 CSV 馈线
【发布时间】:2019-09-13 10:02:50
【问题描述】:

我正在使用 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))

【问题讨论】:

  • 你能贴出 CSV 的前几行吗?
  • accountIds CE6263114 CE6434015 GL12INGB0 BE7837745 BE7737740 BE1036346
  • 这是一栏

标签: scala performance-testing gatling scala-gatling gatling-plugin


【解决方案1】:

您是否在 logback.xml 中启用了跟踪级别以查看 post 请求的详细信息? 另外,您能否确认您提到的“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 file location

【讨论】:

  • 感谢您的回复。我认为这可以解决问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-03-11
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多