【问题标题】:Gatling - change SSL cert used in feeder per request?Gatling - 根据请求更改馈线中使用的 SSL 证书?
【发布时间】:2015-02-24 21:53:16
【问题描述】:

是否可以在 Gatling 中为每个请求使用具有不同证书的 feeder?

考虑测试:

  • 对于许多用户,每个用户都有一个用于 HTTPS 连接的个人唯一证书,
  • 为每个用户发送一个请求,使用该用户的证书。

示例实现:

val feeder = Array(
  Map("data" -> data(user1_data),
    "gatling.http.ssl.trustStore.file" -> "/tmp/test-data/rb.jks",
    "gatling.http.ssl.trustStore.password" -> "password",
    "gatling.http.ssl.keyStore.file" -> "/tmp/test-data/user1.jks",
    "gatling.http.ssl.keyStore.password" -> "password"),

  Map("data" -> data(user2_data),
    "gatling.http.ssl.trustStore.file" -> "/tmp/test-data/rb.jks",
    "gatling.http.ssl.trustStore.password" -> "password",
    "gatling.http.ssl.keyStore.file" -> "/tmp/test-data/user2.jks",
    "gatling.http.ssl.keyStore.password" -> "password")
)
...
val scn = scenario.exec(reportableTest(
  repeat(feeder.length) {
    feed(feeder)
    .exec(http("test user personal data")
    .post(user_url)
    .headers(user_headers)
    .body(StringBody("${data}")).asJSON
    .check(
      status.is(201),
      header("Content-type").is("application/json"),
    )
}))

我确实在场景设置中调用了:.disableClientSharing。

奇怪的行为是,似乎只有第一个

"gatling.http.ssl.keyStore.file" -> "/tmp/test-data/user1.jks",

已处理。下一个不是(即使我创建了另一个 reportableTest)。我只是更改了顺序,实际上在两个请求中都使用了第一个“userX.jks”。

这是正常行为吗? 是bug吗?

【问题讨论】:

    标签: scala ssl https gatling


    【解决方案1】:

    在 Gatling 的 Google Group 上回答:可以为每个虚拟用户设置 SSL 配置,而不是每个请求。

    【讨论】:

    • 当然。在您回答后,一位同事指出了“重复”部分 - 导致所有馈送请求都由单个用户使用。没有它就可以工作(2 个用户有 2 个请求)。感谢您的帮助和快速回复
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-12
    • 2021-08-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-08-27
    相关资源
    最近更新 更多