繁体   English   中英

从初始 http 请求配置加特林基地 url

[英]Configure gatling base url from initial http request

我对 Scala 和加特林完全陌生,请原谅基本问题!

我想创建一个 http 协议,其baseUrl由初始 http 请求的结果指定。 或者换句话说:

  1. 获取远程配置为 JSON,假设来自https://example.com/config.json
  2. 解析 JSON,检索指定的属性endpoint
  3. 将该值传递给http.baseUrl()

我可以在每个场景中手动执行此操作,但这很快就会变得乏味(并且不必要地重复)。 我想找到一个解决方案,我可以在测试运行开始时执行一次此设置。

我的直觉是 go 是这样的:

object Environment {
  val config = "https://example.com/config.json"
}

val httpProtocol = http("config")
    .get(Environment.config)
    .check(
      jsonPath("$.endpoint").saveAs("endpoint")
    )
    .baseUrl("${endpoint}")

// ... and then later on

setUp(
    // scenario.inject()…
  ).protocols(httpProtocol)

...但这不会编译。

非常感谢您的帮助。

你的提议是行不通的。

.protocols 需要一个 HttpProtocolBuilder (记录在 gatling 站点上),而您正在尝试传递一个 HttpRequestBuilder

此外,HttpProtocolBuilder 的 baseUrl 参数只接受一个字符串,因此您将无法将加特林 session 值传递给它。

我能想到的唯一方法是在“之前”块中发出返回基本 url 的请求,但是您将无法使用加特林 dsl 构造来发出该请求:您必须这样做它与原始 scala

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM