类型不匹配。必需:session.Expression[Boolean],找到:Validation[CheckBuilder[JsonPathCheckType, JsonNode, String]
Type mismatch. Required: session.Expression[Boolean], found: Validation[CheckBuilder[JsonPathCheckType, JsonNode, String]
我收到这个错误,我不确定它是什么意思:
类型不匹配。必需:session.Expression[Boolean],找到:Validation[CheckBuilder[JsonPathCheckType, JsonNode, String] with SaveAs[JsonPathCheckType, JsonNode, String]]
我正在尝试从 API 响应 body 中为用户创建的评估检索一个名为“title”的值,并将其保存为“titleSession”。因为不是每个输入模拟的用户都会关联创建的评估,所以我试图让“titleSession”的保存仅在已经存在“title”时才会发生,因此 doIf:
private val manifestInfoQuickAssign = getManifestInfoForCreatingAssessement
.check(status.is(Ok),
doIf(jsonPath("$.results[*].matches.assessment[*].title").find.exists()){
jsonPath("$.results[*].matches.assessment[*].title").saveAs(titleSession)
}
)
对于上下文,这是我导入的当前 Gatling 导入:
import io.gatling.core.Predef.exec
import io.gatling.core.Predef._
import io.gatling.core.structure.ChainBuilder
import io.gatling.http.Predef._
这里还有“getManifestInfoForCreatingAssessment”:
val getManifestInfoForCreatingAssessement = http("Get custom assessment metadata (Manifest-Resources) resources")
.get("/api/onesearch/v1/metadata")
.headers(getHeaderMap)
.queryParam("collection", "Assessments")
.queryParam("options", "search-assessments-json") //search-assessments-json for ui possibly
.queryParam("start", "1")
.queryParam("pageLength", "1000")
.queryParam("searchView", "results")
.queryParam("q", "userId:${userId} sort:title")
.check(status is Ok,
jsonPath("$.total").saveAs("totalAssessments"))
如果有人知道如何保存“标题”(如果它存在),即使没有 doIf 或解决错误,那就太好了。谢谢。
这是错误的,你不能在那里使用 doIf
。
您正在寻找 optional
验证标准:https://gatling.io/docs/gatling/reference/current/http/check/#validating
我收到这个错误,我不确定它是什么意思:
类型不匹配。必需:session.Expression[Boolean],找到:Validation[CheckBuilder[JsonPathCheckType, JsonNode, String] with SaveAs[JsonPathCheckType, JsonNode, String]]
我正在尝试从 API 响应 body 中为用户创建的评估检索一个名为“title”的值,并将其保存为“titleSession”。因为不是每个输入模拟的用户都会关联创建的评估,所以我试图让“titleSession”的保存仅在已经存在“title”时才会发生,因此 doIf:
private val manifestInfoQuickAssign = getManifestInfoForCreatingAssessement
.check(status.is(Ok),
doIf(jsonPath("$.results[*].matches.assessment[*].title").find.exists()){
jsonPath("$.results[*].matches.assessment[*].title").saveAs(titleSession)
}
)
对于上下文,这是我导入的当前 Gatling 导入:
import io.gatling.core.Predef.exec
import io.gatling.core.Predef._
import io.gatling.core.structure.ChainBuilder
import io.gatling.http.Predef._
这里还有“getManifestInfoForCreatingAssessment”:
val getManifestInfoForCreatingAssessement = http("Get custom assessment metadata (Manifest-Resources) resources")
.get("/api/onesearch/v1/metadata")
.headers(getHeaderMap)
.queryParam("collection", "Assessments")
.queryParam("options", "search-assessments-json") //search-assessments-json for ui possibly
.queryParam("start", "1")
.queryParam("pageLength", "1000")
.queryParam("searchView", "results")
.queryParam("q", "userId:${userId} sort:title")
.check(status is Ok,
jsonPath("$.total").saveAs("totalAssessments"))
如果有人知道如何保存“标题”(如果它存在),即使没有 doIf 或解决错误,那就太好了。谢谢。
这是错误的,你不能在那里使用 doIf
。
您正在寻找 optional
验证标准:https://gatling.io/docs/gatling/reference/current/http/check/#validating