请考虑方案...... 在这里,在GET请求中我找到了' derId'但它的回应不是JSON。 所以我无法在该请求中保存此值。
.exec(http("OnClick")
.get("/url/apz?action_id=1&SelectRadiobutton=1_${abcID}_${xyzID}_${zipID}")
.headers(headers_1))
.pause(2)
.exec(http("PopUp")
.post("/url/dis")
.headers(headers_1)
.formParam("action_id", "2")
.formParam("abcId", "${abcID}")
.formParam("rmft", "${rmftID}")
.formParam("msg_id", "${msgID}")
.formParam("matId", "${matID}"))
.pause(1)
.exec(http("Bananana")
.post("/url/abc")
.headers(headers_1)
.formParam("abcId", "${abcID}")
.formParam("msg_id", "${msgID}")
.formParam("matId", "${matID}")
.formParam("derId", "${??}"))
是否有任何方法或方法可以传递来自GET请求的下一个请求中的值???
或者
如果请求没有JSON响应,如何保存值
GET请求可以有JSON响应???
非常感谢您的帮助。
谢谢!
答案 0 :(得分:0)
通过使用正则表达式方法,我们可以从jsp页面(而不是json)保存值。
例如:
.check(regex("""type="hidden" name="abcId" id="abcId" value="([\w=\/.\d_%+-.$]*)"""").saveAs("abcID"))
谢谢!
答案 1 :(得分:0)
我能够从类似问题中使用此答案(https://stackoverflow.com/a/40736282/9371636)来发出请求,然后使用来自第一个请求的JSON响应的输入参数的另一个请求。
示例API我正在测试:
/step1 -> returns { "key": 888 }
/step2/{key} -> returns { "key": 999 } if {key} passed in is == 888
Scala代码:
var step1 = exec(http("step1")
.get("/step1")
.check(jsonPath("$..key").optional.saveAs("key")))
var step2 = exec(http("step2")
.get("/step2/${key}"))
val scn: ScenarioBuilder = scenario("SimulationName").exec(step1,
doIf(session => session.contains("key")) {
exec(step2)
})