Bỏ qua, đến nội dung

Chạy flow ​

Mở workspace, viết flow, chạy trên device và đọc kết quả.

Trang này nói về vòng lặp hằng ngày: mở workspace, viết flow, chạy trên device và đọc kết quả.

Workspace ​

Workspace là một thư mục chứa các flow Maestro (file .yaml) và bất cứ thứ gì khác bạn muốn đặt cạnh chúng. Dùng menu File, hoặc cửa sổ Welcome to Astra Scout khi chưa mở workspace nào:

LệnhChức năng
Workspace mới… (Cmd+N)Chọn hoặc tạo thư mục cho test của bạn và dựng sẵn cấu trúc workspace bên dưới.
Mở workspace… (Cmd+O)Mở thư mục đã có flow.
Đóng workspaceĐóng workspace hiện tại.
Mở gần đâyMở lại workspace bạn đã dùng trước đó.

Nếu thư mục workspace không còn tồn tại, app yêu cầu bạn mở lại thư mục dự án.

Workspace mới có sẵn cấu trúc sau. Mở workspace… giữ nguyên thư mục như hiện có.

<workspace>/
├── *.yaml            các flow của bạn
├── subflows/         flow được flow khác gọi bằng runFlow
├── tracking-specs/   spec tracking, kèm README (xem Tracking)
└── artifacts/runs/   mỗi lượt chạy một thư mục: video và ảnh chụp màn hình, không commit

Navigator File ​

Navigator File hiển thị các file và thư mục của bạn. Nút + và ô lọc ở cuối navigator giúp tạo mục mới và thu hẹp danh sách. Bấm chuột phải vào một mục để có các thao tác:

  • File mới… (Shift+Cmd+N), với các mẫu Mobile Test, Javascript File và Text File. Một mobile test hỏi tên, App ID (chọn từ Dùng gần đây hoặc, khi có device kết nối, Trên device đang kết nối) và Tag không bắt buộc. Khi dự án đã chọn app ở bộ chọn app trên toolbar, App ID mặc định là ${APP_ID}: flow có appId: ${APP_ID} chạy trên app đã chọn (server đặt APP_ID cho mỗi run; APP_ID bạn truyền tự tay được ưu tiên). Flow có appId cố định không đổi.
  • Thư mục mới…
  • Run Test
  • Duplicate, Rename và Delete (mục được chuyển vào Thùng rác)
  • Show in Finder

Bạn có thể kéo thả file và thư mục để di chuyển, và chọn nhiều mục cùng lúc.

Editor ​

Editor hiển thị một file tại một thời điểm. Dùng Go Back và Go Forward trên thanh công cụ (Ctrl+Cmd+← và Ctrl+Cmd+→) để chuyển giữa các file đã mở. Editor gợi ý lệnh Maestro khi bạn gõ và gạch chân các lệnh mà device đang kết nối không chạy được.

  • File tự động lưu sau một khoảng trễ ngắn. Bạn có thể tắt bằng File → Tự động lưu hoặc trong Settings → Chung. Cmd+S lưu ngay lập tức và Cmd+W đóng file.
  • Khi flow chạy, mỗi dòng lệnh hiển thị trạng thái: đang chờ, đang chạy, hoàn tất hoặc fail.
  • Bấm vào số dòng ở lề (gutter) để có Run “lệnh” hoặc Run from Here. Các lệnh này chạy trên device đang kết nối mà không rời editor.

Cần một lệnh nhanh?

Bật Device → Kiểm tra phần tử, bấm chuột phải vào một phần tử trên màn hình device và dùng Chèn vào trình soạn thảo. Xem Inspector.

Chạy một flow ​

  1. Kết nối device. Xem Device.
  2. Mở file flow.
  3. Bấm Chạy test trên thanh công cụ (Cmd+R). Dùng Dừng (Cmd+.) để huỷ.

Trước khi một run bắt đầu, Astra Scout kiểm tra driver (và, trên iPhone, xem màn hình có đang khoá không). Các step giống mua hàng chạy như mọi step khác. Xem Test mua hàng.

Chạy tất cả flow trong workspace ​

Chọn Run → Chạy tất cả test (Shift+Cmd+R) để chạy mọi flow trong workspace, và Dừng tất cả test để dừng. Video của một run workspace dùng chung một thư mục, với _2, _3 được thêm vào các tên trùng.

Chọn môi trường ​

Menu Môi trường ở bên phải thanh của bảng chạy test áp dụng các biến và tag có đặt tên cho run. Xem Môi trường và biến.

Đọc kết quả ​

Navigator Test run liệt kê các run trong session này. Chọn một run để xem trạng thái từng flow và từng lệnh trong runner: mỗi flow một dòng (kết quả và thời điểm ở dưới tên, thời lượng ở bên phải), rồi mỗi step một dòng. Step fail có lý do hiện ngay bên dưới. Bấm chuột phải vào một dòng, hoặc chọn nó và dùng các nút ở khung chi tiết, để có các thao tác:

Thao tácMục đích
Mở fileNhảy tới file flow
Sao chép logSao chép toàn bộ log của một step fail
Xem bản ghiPhát video của run lên trên mirror device
Sửa bằng AI và Tự sửa…Giao flow fail cho AI. Xem Trợ lý AI.
Báo bug lên Jira…Xem Jira

Xoá lịch sử… ở cuối navigator xoá lịch sử chạy cục bộ của workspace.

Kết luận (verdict) ​

Ngoài pass hoặc fail theo từng step, mỗi run có một nhãn kết luận do Astra Scout tính từ các dữ kiện có cấu trúc. AI không bao giờ viết nó.

NhãnÝ nghĩaExit code của CLI
PassMọi step đều qua.0
FailBug thật của app hoặc flow: selector sai, assertion fail, app crash.1
Chưa xongDừng trước khi có kết luận: bạn bấm Dừng, chạm giới hạn, AI hết thời gian.2
Chưa chắc chắnMột phép kiểm tra AI không kết luận được, nên cần người xem lại.2
Bị chặnIssue về device hoặc môi trường: mất kết nối, driver không phản hồi, app chưa cài, error ký, không có AI.3

Bấm vào một nhãn để xem lý do, step quyết định và báo cáo. Báo cáo được lưu cùng run dưới dạng Markdown và JSON.

Mã lý do ​

Một run Bị chặn luôn có mã lý do. Một run Chưa xong có mã khi biết nguyên nhân. Run có mã lý do không bao giờ bị coi là bug của app, nên không có báo cáo bug nào được đề xuất.

MãÝ nghĩa
ENVIRONMENT_UNAVAILABLEDevice hoặc driver chưa sẵn sàng (mất kết nối, WDA hoặc DeviceLab không phản hồi)
APP_NOT_INSTALLEDApp chưa được cài
APP_FILE_REQUIREDclearState trên iPhone thật cần một bản build .ipa hoặc .app. Xem Device.
AUTOMATION_UNSUPPORTEDLệnh không được hỗ trợ trên nền tảng này
AI_PROVIDER_UNAVAILABLEAI chưa cài, chưa đăng nhập, fail hoặc hết thời gian
AI_BUDGET_EXHAUSTEDHết lần gọi AI (khám phá)
STEP_BUDGET_EXHAUSTEDChạm giới hạn step, vòng hoặc thời gian
POLICY_DENIEDTester đã từ chối
NEEDS_HUMANTester phải thao tác trên device (hộp thoại mua hàng hoặc mật khẩu của hệ thống)
SYSTEM_OVERLAYMột hộp thoại hoặc sheet hệ thống iOS che app. Các step khớp text hoặc id trên hộp thoại đó sẽ thao tác trực tiếp lên nó.
DEVICE_LOCKEDMàn hình iPhone đang khoá và có passcode
UNKNOWNBị chặn, nhưng không có dữ kiện nào nêu nguyên nhân

Video ​

Video của flow được lưu trong workspace đang mở:

<workspace>/artifacts/runs/<ngày_giờ bắt đầu run>/<tên file flow>.mp4

takeScreenshot với đường dẫn tương đối, ví dụ - takeScreenshot: home, lưu home.png vào <ngày_giờ bắt đầu run>/<tên file flow>/, cạnh video, thay vì cạnh file flow, nên mỗi run giữ ảnh riêng. Đường dẫn tuyệt đối được giữ nguyên. Lệnh chạy ngoài file flow trong một workspace lưu ảnh vào một thư mục run riêng.

Astra Scout tạo artifacts/runs/.gitignore chứa * để video không bị commit. Nó không sửa .gitignore của riêng bạn. Video của các lệnh chạy ngoài file flow và của khám phá nằm trong thư mục dữ liệu của app, dưới tests/<session>/videos/.

Lịch sử chạy phát video từ các đường dẫn đó. Nếu bạn xoá file, video biến mất khỏi lịch sử.

Lệnh không chạy được ​

Các lệnh mà nền tảng đang kết nối không hỗ trợ được đánh dấu trong editor và bị AI cùng các tool MCP từ chối. Xem Nền tảng được hỗ trợ.

Step tiếp theo ​