【发布时间】:2019-06-21 04:11:40
【问题描述】:
我是 Scala 和 gatling 的新手。如果之前的场景是使用 doIf 传递的,我需要运行场景。
我的代码是:
HttpRequest
object CompanyProfileRequest {
val check_company_profile: HttpRequestBuilder = http("Create Company
Profile")
.get(onboarding_url_perf + "/profile")
.headers(basic_headers)
.headers(auth_headers)
.check(status.is(404).saveAs("NOT_FOUND"))
val create_company_profile: HttpRequestBuilder = http("Create Company
Profile")
.post(onboarding_url_perf + "/profile")
.headers(basic_headers)
.headers(auth_headers)
.body(RawFileBody("data/company/company_profile_corporation.json")).asJson
.check(status.is(200))
.check(jsonPath("$.id").saveAs("id"))
}
场景类是:-
object ProfileScenarios {
val createProfileScenarios: ScenarioBuilder = scenario("Create profile
Scenario")
.exec(TokenScenario.getCompanyUsersGwtToken)
.exec(CompanyProfileRequest.check_company_profile)
.doIf(session => session.attributes.contains("NOT_FOUND")) {
exec(CompanyProfileRequest.create_company_profile).exitHereIfFailed
}
}
模拟是:-
private val createProfile = ProfileScenarios
.createProfileScenarios
.inject(constantUsersPerSec(1) during (Integer.getInteger("ramp", 1)
second))
setUp(createProfile.protocols(httpConf))
每当我运行此模拟时,我都无法检查此情况:-
.doIf(session => session.attributes.contains("NOT_FOUND"))
非常感谢任何帮助。
问候, 维克拉姆
【问题讨论】:
-
你能澄清一下“我无法检查这种情况”是什么意思吗?你的 doIf 块总是执行吗?它永远不会执行吗?
-
我假设您正在尝试调用 check_company_profile,如果返回 404(表示 office 不存在)然后执行 create_company_profile?
标签: scala gatling scala-gatling