Как использовать tryMax в Gatling для пустого атрибута, выхода из системы и перезапуска итерации? - PullRequest
0 голосов
/ 24 апреля 2018

Я знаю, что могу использовать tryMax для перезапуска сценария и использовать .exists (), чтобы проверить, существует ли атрибут.Как мне объединить два вместе?

1 Ответ

0 голосов
/ 02 мая 2018

Если у вас есть проверки в exec внутри tryMax, и эта проверка не удалась, он попробует снова с начала блока tryMax.

EX:

val TestScenarioThatRestartsOnFail: ScenarioBuilder = scenario("ScenarioNameHere")
.tryMax(2) {
  exec(
    http("zzzz")
      .get("zzz")
      .check(xxxx)
  )
  .exec(
    http("zzzz")
      .get("zzz")
      .check(xxxx)
  )
}

Таким образом, любая проверка, которая не удалась во всем блоке tryMax {}, заставит весь блок работать снова.

Вы также можете объединить несколько блоков tryMax, если вам нужно повторять разные запросы разное

val TestScenarioThatRestartsOnFail: ScenarioBuilder = scenario("ScenarioNameHere")
.tryMax(2) {
  exec (
    http ("zzzz")
    .get ("zzz")
    .check (xxxx)
  )
}.tryMax(2) {
  exec(
    http("zzzz")
    .get("zzz")
    .check(xxxx) 
  )
}

Если вы сталкиваетесь с проверками, которые "необязательны" , следовательно, они могут иногда давать сбой, но вы не хотите запускать tryMax для этих проверок, используйте метод optional, например:

.check(regex("/admin-ng/login.[^\"]*.css").find.optional.saveAs("login_css"))

Это не провалит проверку, если она не выполнена, в данном примере искомый элемент отсутствует в ответе.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...