Tổng quan về điều khiển flow và logic
Giúp flow thích ứng với trạng thái app bằng selector, điều kiện, vòng lặp và flow lồng nhau.
Trong khi flow tiêu chuẩn đại diện cho hành trình người dùng tuyến tính, test thực tế thường cần hành vi động. Phần này giới thiệu các công cụ giúp test thích ứng với nhiều trạng thái app, yêu cầu nền tảng và môi trường dữ liệu khác nhau.
Các trụ cột cốt lõi của kiến trúc flow
Để xây dựng test có thể mở rộng, bạn sẽ dùng năm trụ cột:
Chọn phần tử
Xác định phần tử UI một cách chính xác. Trước khi xây dựng logic test, bạn phải nắm vững cách dùng selector để Astra Scout có thể tìm và tương tác đúng với các phần của màn hình app.
Module hóa
Tránh lặp lại: bạn có thể dùng Flow lồng nhau để tách các hành trình chung, như Đăng nhập hay Onboarding, thành file riêng. Sau đó gọi các "subflow" này trong toàn bộ bộ test bằng lệnh runFlow.
Thực thi có điều kiện
Không phải step test nào cũng nên chạy mọi lúc. Điều kiện cho phép thực thi hành động dựa trên việc phần tử có hiển thị hay không, nền tảng (iOS so với Android), hoặc biểu thức JavaScript tùy chỉnh.
Lặp lại
Xử lý danh sách động hoặc tình huống "polling" bằng vòng lặp để lặp hành động cho đến khi hoàn thành mục tiêu. Bổ sung bằng lệnh chờ để test chỉ tiếp tục khi UI đã ổn định, loại bỏ flakiness do mạng tải chậm.
Môi trường và vòng đời
Quản lý dữ liệu test từ bên ngoài bằng tham số và hằng số, cho phép cùng một flow chạy ở Staging, QA hoặc Production. Dùng Hook (onFlowStart, onFlowComplete) để tự động hóa việc thiết lập và dọn dẹp, như xoá trạng thái app hoặc cấp quyền.
