创建一个scala函数来定义Gatling HTTP请求链

创建一个scala函数来定义Gatling HTTP请求链,scala,performance-testing,scala-collections,gatling,Scala,Performance Testing,Scala Collections,Gatling,我只是Scala和gatling的新手 当我定义 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 d

我只是Scala和gatling的新手

当我定义

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是一个泛型类型,它接受两个类型参数,一个用于键类型,一个用于值类型。尝试HashMap[字符串,字符串]。

无需精确指定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)
}

我已经导入了import io.gatling.core.structure并将函数更改为HashMap[String,String]param,但它仍然抛出I_ui\lib\AssetDetail.scala:44:未找到:type ChainBuilder 13:37:11.476[ERROR]I.g.a.zincompiler$-def generateWebRequest(请求名称:String,sort:String,queryparammap:HashMap[String,String]):ChainBuilder={13:37:11.478[错误]i.g.a.Zincompiler$-^13:37:11.486[错误]i.g.a.ZincCompiler$-C:\Users\Vertis\Desktop\gatling\user files\simulations\delph i\u ui\lib\AssetDetail.scala:44:未找到:键入HashMap您使用哪个gatling版本?我前一天从这里下载了continuous integration one,因此您的导入没有任何原因。您能分享一下您所做的工作要点吗?:-我导入了io.gatling、 但我仍然找不到:类型chainbuilderphaps现在只删除定义,让Scala推断它?请参阅我更新的示例。我仍然得到方法generateWebRequest有return语句;需要结果类型return exec(http(requestName)哦,也删除return