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, không có thứ tự đảm bảo giữa các flow. Điều này là cố ý vì test flow một cách độc lập giúp chúng vững chắc và không phụ thuộc tác dụng phụ từ các test trước.
Tuy nhiên có những tình huống, đặc biệt ở các app hướng mục tiêu (Goal-Driven Apps), bạn cần kiểm tra một chuỗi event nghiêm ngặt (ví dụ: tạo tài khoản, rồi xác minh hồ sơ, rồi đặt hàng). Khi đó bạn có thể 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 có thể chỉ định flow bằng tên file (không có đuôi .yaml) hoặc bằng property name khai báo bên trong flow.
# config.yaml
executionOrder:
flowsOrder:
- signup_flow # Bước 1
- verify_email_flow # Bước 2
- complete_profile # Bước 3Khi bạn cấu hình executionOrder, Astra Scout sẽ:
- Đặt các flow liệt kê trong
flowsOrderlên trước, theo đúng thứ tự đã chỉ định. - Chạy các flow khác được tìm thấy sau chúng. Không nên dựa vào thứ tự tương đối của các flow này.
Lưu ý: continueOnFailure không được hỗ trợ
Cờ continueOnFailure của Maestro, vốn hủy phần còn lại của chuỗi khi một flow fail, không được Astra Scout đọc. Một flow fail không hủy các flow phía sau. Nếu một flow không thể chạy khi thiếu flow trước, hãy lồng phần thiết lập cần thiết bằng runFlow.
Thực hành tốt và tính độc lập
Kể cả khi chạy tuần tự, bạn vẫn nên coi flow là các đơn vị độ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 dựa vào việc một flow để app ở trạng thái nhất định cho flow kế tiếp.
Nếu cần đảm bảo một trạng thái cụ thể (ví dụ đã đăng nhập), hãy dùng Hook hoặc Flow lồng nhau ở đầu test.
| Yêu cầu | Khuyến nghị |
|---|---|
| Phụ thuộc logic | Dùng runFlow để lồng phần thiết lập cần thiết vào test. |
| Sắp xếp đơn giản | Dùng executionOrder trong config.yaml. |
Ví dụ: sắp thứ tự một phần
Nếu có năm flow (A, B, C, D, E) nhưng bạn chỉ cần A và B chạy trước, có thể dùng cấu hình executionOrder sau:
executionOrder:
flowsOrder:
- flowA
- flowBAstra Scout chạy A, rồi B, sau đó C, D và E; ba flow này nên được coi là theo thứ tự bất kỳ.
Step tiếp theo
Bây giờ bạn đã xác định test chạy như thế nào và khi nào, hãy tìm hiểu cách xem kết quả:
- Báo cáo và artifact: xem Astra Scout ghi lại gì cho mỗi run.
- Phân tích test bằng AI: dùng lệnh AI để tìm bug UI và logic.
