Bỏ qua, đến nội dung

Thực thi tuần tự ​

Chạy flow theo thứ tự chỉ định bằng executionOrder cho các kịch bản test phụ thuộc nhau.

Mặc định, Astra Scout không đảm bảo thứ tự chạy giữa các flow. Điều này là cố ý: mỗi flow chạy độc lập thì ổn định hơn, và không phụ thuộc vào những gì flow trước để lại.

Tuy nhiên đôi khi bạn cần chạy các flow theo một thứ tự cố định. Ví dụ app mua hàng: tạo tài khoản, rồi xác minh hồ sơ, rồi đặt hàng. Khi đó dùng cấu hình executionOrder.

Cấu hình thứ tự ​

Để ép thứ tự, thêm khối executionOrder vào config.yaml. Bạn chỉ định flow bằng tên file (không có đuôi .yaml) hoặc bằng name khai báo trong flow.

yaml
# config.yaml
executionOrder:
  flowsOrder:
    - signup_flow          # Bước 1
    - verify_email_flow    # Bước 2
    - complete_profile     # Bước 3

Khi bạn cấu hình executionOrder, Astra Scout sẽ:

  1. Đặt các flow liệt kê trong flowsOrder lên trước, theo đúng thứ tự đã chỉ định.
  2. Chạy các flow còn lại sau chúng. Đừng dựa vào thứ tự giữa các flow còn lại này.

Flow fail không dừng chuỗi

Khi một flow trong chuỗi fail, các flow phía sau vẫn chạy. Astra Scout không có tùy chọn dừng cả chuỗi (key continueOnFailure trong config sẽ bị bỏ qua). Nếu một flow không chạy được khi thiếu flow trước, đưa phần thiết lập cần thiết vào chính flow đó bằng runFlow.

Thực hành tốt và tính độc lập ​

Kể cả khi chạy theo thứ tự, bạn vẫn nên giữ mỗi flow độc lập. Một rule đơn giản:

Mỗi flow nên chạy được trên một device đã reset hoàn toàn.

Lưu ý

Đừng trông chờ flow trước để app ở một trạng thái nhất định cho flow sau.

Nếu cần một trạng thái cụ thể (ví dụ đã đăng nhập), dùng Hook hoặc Flow lồng nhau ở đầu test.

Yêu cầuKhuyến nghị
Flow cần phần thiết lập của flow khácDùng runFlow để đưa phần thiết lập vào flow.
Chỉ cần chạy theo thứ tựDùng executionOrder trong config.yaml.

Ví dụ: sắp thứ tự một phần ​

Giả sử có năm flow (A, B, C, D, E) và bạn chỉ cần A và B chạy trước:

yaml
executionOrder:
  flowsOrder:
    - flowA
    - flowB

Astra Scout chạy A, rồi B, sau đó C, D và E theo thứ tự bất kỳ.

Step tiếp theo ​

Sau khi đặt thứ tự chạy, xem kết quả ở các trang sau: