Docs
API 1.39
Status
Actions

loop_until

The `loop_until` step.

Repeats do until a condition holds. The condition is checked before each iteration; after max iterations the job fails with loop_exhausted unless the step is optional.

Type: condition

#Keys

KeyTypeDescription
loop_until.doany[]The steps run on each iteration, at least one.
loop_until.maxintegerThe most iterations, from 1 to 100. Required (lint E002).

Every step also takes the common step keys: expect, id, if, name, on_error, optional, retry, side_effect, timeout_ms, x_kaab.

#Example

{
  "loop_until": {
    "count": {
      "target": ".item",
      "min": 60
    }
  },
  "max": 10,
  "do": [
    {
      "scroll": {
        "to": "bottom",
        "until": {
          "count": {
            "target": ".item",
            "min": 60
          }
        },
        "max": 20,
        "delay_ms": 300
      }
    }
  ]
}

From the contract fixture loop-until-scroll, a program the test suite validates.

Was this page helpful?