Гатлинг: Как передать значение в следующем запросе, если предыдущий запрос не имеет ответа JSON?

Пожалуйста, рассмотрите сценарий ... Здесь в запросе 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 ???

Or

Как сохранить значение, когда на запрос нет ответа JSON ???

Может ли запрос GET иметь ответ JSON ???

Мы будем очень благодарны за вашу помощь.

Спасибо!


person Praveen    schedule 28.09.2016    source источник


Ответы (2)


Я смог использовать этот ответ (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)
    })
person swallace    schedule 16.02.2018

Используя метод регулярных выражений, мы можем сохранять значения со страницы jsp (не json).

Например:

.check(regex("""type="hidden" name="abcId" id="abcId" value="([\w=\/.\d_%+-.$]*)"""").saveAs("abcID"))

Спасибо!

person Praveen    schedule 21.11.2016