Bỏ qua, đến nội dung

repeat ​

Lặp lại một khối command theo số lần chỉ định.

Command repeat chạy một chuỗi command nhiều lần, theo số lần cố định hoặc cho đến khi một điều kiện được thỏa.

Tham số ​

Để tùy chỉnh việc chạy chuỗi command khi dùng repeat, bạn có thể dùng các tham số sau:

ParameterTypeMô tả
timesintegerSố lần lặp lại commands.
whileconditionĐiều kiện phải cho ra true để vòng lặp tiếp tục. Vòng lặp kết thúc khi điều kiện trở thành false.
commandslistDanh sách command chạy trong mỗi lần lặp.

Ví dụ sử dụng ​

Lặp một số lần cố định ​

Để chạy một tập command với số lần cố định, dùng tham số times.

yaml
- repeat:
    times: 3
    commands:
      - tapOn: Button
      - scroll

Trong ví dụ trên, test lặp lại quá trình chạm nút và cuộn ba lần liên tiếp.

Lặp khi điều kiện còn đúng ​

Để chạy command chừng nào điều kiện còn thỏa, dùng tham số while. Vòng lặp tiếp tục chừng nào phần tử có text ValueX chưa hiển thị.

yaml
- repeat:
    while:
      notVisible: "ValueX"
    commands:
      - tapOn: Button

Lặp bằng biểu thức JavaScript ​

Tham số while cũng nhận biểu thức JavaScript. Vòng lặp tiếp tục chừng nào biểu thức cho ra true.

yaml
- evalScript: ${output.counter = 0}
- repeat:
    while:
      true: ${output.counter < 3}
    commands:
      - tapOn: Button
      - evalScript: ${output.counter = output.counter + 1}

Lặp với số lần tối đa và điều kiện ​

Bạn có thể kết hợp times và while để lặp command cho đến khi điều kiện thỏa, nhưng không quá số lần lặp chỉ định. Vòng lặp dừng khi điều kiện while trở thành false hoặc chạm số lần times, tùy cái nào đến trước.

Ví dụ sau chạm một nút trong khi một phần tử chưa hiển thị, nhưng dừng sau 10 lần thử bất kể phần tử có hiển thị hay không.

yaml
- repeat:
    times: 10
    while:
      notVisible: "someElement"
    commands:
      - tapOn: Button

Đây là một ví dụ khác ghi log "Hello World" bốn lần. Giới hạn times: 4 đảm bảo vòng lặp dừng ngay cả khi điều kiện không bao giờ thành false, ví dụ nếu bộ đếm không được tăng.

yaml
- evalScript: ${output.counter = 1}
- repeat:
    times: 4
    while:
      true: ${output.counter < 10}
    commands:
      - evalScript: ${console.log("Hello World")}
      - evalScript: ${output.counter++}

Tìm hiểu cách dùng conditions trong flow.