我只是 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/