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

标签 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 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,使用通用父接口(interface)。此外,不需要(也许)指定 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)
}

关于scala - 创建一个 scala 函数来定义 Gatling HTTP 请求链,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24797246/

相关文章:

Java内部类导入Scala项目

javascript - 高级 JavaScript 数组串联 - 性能

scala - <not computed> 关于 Scala 中的集合输出

api - 用于矢量化数值计算的最佳 Scala 集合类型

scala - 为什么在这些导入后需要分号?

java - 我应该为客户端-服务器 osgi 使用哪个库

java - 使用 Mockito 进行 API stub 负载测试

c - 使用 while() 和 sleep() 让程序进入休眠模式的区别

scala - 在 Scala 中查找函数应用值

scala - 在 Play 框架中,将数组传递给 View 的语法是什么?