簡體   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