assertWithAI
Dùng AI kiểm tra trạng thái UI phức tạp bằng assertion viết bằng ngôn ngữ tự nhiên.
Thử nghiệm, cần AI CLI
Command này dùng mô hình AI nên cần một AI CLI được cấu hình trong Settings → AI. Xem Trợ lý AI. AI có thể trả lời khác nhau giữa các run.
Command assertWithAI kiểm tra màn hình theo một assertion bằng ngôn ngữ tự nhiên. Astra Scout chụp màn hình và danh sách phần tử, gửi cùng assertion của bạn tới AI provider bạn đã chọn, rồi nhận lại câu trả lời đúng hoặc sai kèm lý do.
Dùng khi một assertion dựa trên phần tử như assertVisible không biểu diễn được phép kiểm tra, ví dụ một mẫu hình ảnh hoặc màn hình nhắc xác thực hai lớp.
Cú pháp
- assertWithAI: "The screen has a Sign in button"Bạn cũng có thể dùng cú pháp mở rộng:
- assertWithAI:
assertion: A two-factor authentication prompt, with space for 6 digits, is visible.
optional: falseTham số
| Parameter | Type | Mô tả |
|---|---|---|
assertion | string | Bắt buộc. Mô tả bằng ngôn ngữ tự nhiên về trạng thái màn hình mong đợi. |
optional | boolean | Không bắt buộc. Khi là true, assertion fail sẽ hiện màu đỏ nhưng flow vẫn tiếp tục. Mặc định true. |
timeout | number | Không bắt buộc. Thời gian tối đa chờ AI, tính bằng mili giây. Mặc định 60000. |
Mẹo
Giống Maestro, optional mặc định là true để câu trả lời AI không ổn định không làm hỏng cả run. Đặt optional: false để dừng flow khi assertion sai.
Astra Scout chạy command này thế nào
- Step này gửi một yêu cầu AI kèm ảnh chụp màn hình (khi provider nhận ảnh) và danh sách phần tử UI. Tốn một lần gọi model.
- Chọn provider và model ở Settings → AI → Mặc định → Lệnh AI trong flow.
- Bảng kết quả của step ghi lại verdict, assertion, câu trả lời gốc, model và đường dẫn ảnh chụp màn hình.
- Nếu AI báo độ tin cậy dưới 0.6, verdict của run là Unsure, không phải Passed.
- Text trên màn hình được gửi đi như dữ liệu không đáng tin. Prompt yêu cầu AI bỏ qua mọi chỉ dẫn xuất hiện trên màn hình.
- Sau khi một step nhập giá trị bí mật (ví dụ
inputText: ${PASSWORD}), các step AI sau đó không gửi ảnh chụp màn hình cho đến khi app được mở lại. Xem Không có ảnh chụp màn hình sau khi nhập giá trị bí mật.
