Scala Gatling:为多个Css选择器动态组装HttpCheck
我正在开发一个可以通过外部配置对象参数化的Gatling测试框架。我的一个用例是,可能有零个或多个CSS选择器检查需要保存到变量中。在我的config对象中,我将其实现为一个Scala Gatling:为多个Css选择器动态组装HttpCheck,scala,gatling,Scala,Gatling,我正在开发一个可以通过外部配置对象参数化的Gatling测试框架。我的一个用例是,可能有零个或多个CSS选择器检查需要保存到变量中。在我的config对象中,我将其实现为一个Map[String,(String,String)],其中键是变量名,值是由两部分组成的css选择器 我正在努力研究如何动态组装支票。以下是我目前得到的信息: val captureMap: Map[String, (String, String)] = config.capture httpRequestBuilder.
Map[String,(String,String)]
,其中键是变量名,值是由两部分组成的css选择器
我正在努力研究如何动态组装支票。以下是我目前得到的信息:
val captureMap: Map[String, (String, String)] = config.capture
httpRequestBuilder.check(
captureMap.map((mapping) => {
val varName = mapping._1
val cssSel = mapping._2
css(cssSel._1, cssSel._2).saveAs(varName)
}).toArray: _* // compilation error here
)
我得到的错误是:
Error:(41, 10) type mismatch;
found : Array[io.gatling.core.check.CheckBuilder[io.gatling.core.check.css.CssCheckType,jodd.lagarto.dom.NodeSelector,String]]
required: Array[_ <: io.gatling.http.check.HttpCheck]
}).toArray: _*
虽然这样做有效,但它非常丑陋。这能改进吗?我也有同样的问题
我有以下几点:
import io.gatling.core.Predef._
import io.gatling.http.Predef.http
我将这些导入更改为:
import io.gatling.core.Predef._
import io.gatling.http.Predef._
import io.gatling.http.request.builder.HttpRequestBuilder.toActionBuilder
这让它起作用了
import io.gatling.core.Predef._
import io.gatling.http.Predef._
import io.gatling.http.request.builder.HttpRequestBuilder.toActionBuilder