[英]Gatling: How to pass value in next request when previous request doesn't have JSON response?
請考慮這種情況...在這里,在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響應嗎???
您的幫助將不勝感激。
謝謝!
通過使用regex方法,我們可以保存jsp頁面(而不是json)中的值。
例如:
.check(regex("""type="hidden" name="abcId" id="abcId" value="([\w=\/.\d_%+-.$]*)"""").saveAs("abcID"))
謝謝!
我能夠使用類似問題中的這個答案( 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)
})
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.