簡體   English   中英

創建一個scala函數來定義Gatling HTTP請求鏈

[英]Create a scala function to define Gatling HTTP request chains

我只是斯卡拉和加特林的新手。

當我定義

Object A{
  val asset_sort = exec(http("Sort by Displays")
   .get("/data/analytics/reports/")
   .queryParamMap(asset_details_map)
   .queryParam("""sort""", """video_starts""")
   .check(status.is(200)))
  .pause(1)

 val device_sort = and so on ... variables.
}

現在我想創建一個Scala函數,它通過傳遞某些參數來返回不同的變量。

我試過這樣的事

val asset_sort = generateWebRequest("Sort by Displays", "video_starts", asset_details_map)

  def generateWebRequest(requestName:String, sort:String, queryParamMap:HashMap):ChainBuilder = {

    return exec(http(requestName)
     .get("/data/analytics/reports/")
     .queryParamMap(queryParamMap)
     .queryParam("""sort""", sort)
     .check(status.is(200)))
    .pause(1)
  }

但它會引發錯誤

i_ui\lib\AssetDetail.scala:47: class HashMap takes type parameters
12:50:36.708 [ERROR] i.g.a.ZincCompiler$ -   def generateWebRequest(requestName:String, sort:String, qu
eryParamMap:HashMap):ChainBuilder = {
12:50:36.710 [ERROR] i.g.a.ZincCompiler$ -

“類HashMap采用類型參數”非常明確。 HashMap是一種泛型類型,它接受2個類型參數,一個用於鍵類型,一個用於值類型。 嘗試HashMap [String,String]。

無需精確指定HashMap,使用通用父接口。 此外,不需要(也許)指定generateWebRequest的類型,讓編譯器推斷它。 而且你通常不必在Scala中使用return

val asset_sort = generateWebRequest("Sort by Displays", "video_starts", asset_details_map)

def generateWebRequest(requestName:String, sort:String, queryParamMap:Map[String,String]) = {
    exec(http(requestName)
            .get("/data/analytics/reports/")
            .queryParamMap(queryParamMap)
            .queryParam("""sort""", sort)
            .check(status.is(200)))
        .pause(1)
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM