Проверка Гатлинга, если синтаксис

Унаследованное приложение имеет следующий рабочий тест Гатлинга

private val getUserByTuid = scenario("GetActiveUserInfoWrapper")
    .feed(users.toArray.circular)
    .exec(
      http("GET /v1/foo/{id}")
        .get("/v1/foo/${id}")
        .header("Content-Type", "application/json")
        .header("User-Agent", "gatling")
        .check(status is 200)
        .check(jsonPath("$..ID") exists)
    )

Мне нужно изменить его так, чтобы либо статус был равен 200, и в этом случае он проверял, что идентификатор jsonnode существует (как и выше), либо статус был равен 401, и в этом случае он проверял, что существует описание jsonnode. Любое другое состояние должно привести к сбою.

Это то, что я имею до сих пор, но, похоже, он не работает должным образом, потому что Гатлинг учитывает все ошибки ответов, даже те, которые 200 с идентификатором и 401 с описанием.

private val getUserByTuid = scenario("GetActiveUserInfoWrapper")
    .feed(users.toArray.circular)
    .exec(
      http("GET /v1/foo/{id}")
        .get("/v1/foo/${id}")
        .header("Content-Type", "application/json")
        .header("User-Agent", "gatling")
        .check(checkIf((response: Response, session: Session) => response.status.get.getStatusCode == 200)(jsonPath("$..ID") exists))
        .check(checkIf((response: Response, session: Session) => response.status.get.getStatusCode == 401)(jsonPath("$..Description") exists))
    )

Я просматривал документы и искал в Интернете, но не смог найти правильный путь для достижения того, чего я хочу, поэтому спрашиваю здесь.

0 ответов

Другие вопросы по тегам