Bỏ qua, đến nội dung

Tham chiếu ​

Tham chiếu cho command, selector và cấu hình workspace của Astra Scout.

Astra Scout chạy flow YAML của Maestro trên iOS Simulator, iPhone thật và device Android, dùng engine maestro-runner. Phần tham chiếu này nói về các command, selector và cấu hình workspace mà runner hỗ trợ. Cú pháp YAML giống hệt Maestro, nên các flow Maestro có sẵn chạy được nguyên trạng, miễn là chỉ dùng những gì được liệt kê ở đây.

Khám phá phần tham chiếu ​

MụcNội dung
CommandsMọi command của flow mà Astra Scout hỗ trợ, kèm tham số và ví dụ.
SelectorsCách chọn phần tử UI theo text, ID, vị trí, trạng thái và kích thước.
Cấu hình workspaceCác key trong config.yaml chọn và sắp thứ tự các flow của một run.

Để học cách viết và tổ chức flow, bắt đầu từ hướng dẫn về flow.

Commands ​

Mức hỗ trợ:

  • Hỗ trợ: hoạt động trên cả Android và iOS như mô tả.
  • Hỗ trợ một phần: hoạt động có giới hạn, ví dụ chỉ trên một nền tảng hoặc chỉ trên iOS Simulator. Trang command mở đầu bằng một khung lưu ý liệt kê các giới hạn đó.

"Chỉ Simulator" nghĩa là command hoạt động trên iOS Simulator và fail trên iPhone thật.

CommandMô tảAndroidiOSHỗ trợ
acceptAlertChấp nhận một hộp thoại alert của hệ thống trên iOS.KhôngCóHỗ trợ một phần
addMediaThêm ảnh hoặc video vào thư viện của device để test chọn media.CóChỉ SimulatorHỗ trợ một phần
assertConditionKhẳng định một điều kiện hiển thị hoặc script đang đúng.CóCóHỗ trợ
assertDarkModeKiểm tra device đang ở chế độ tối.CóChỉ SimulatorHỗ trợ một phần
assertEventsXác nhận app đã gửi các analytics event (chỉ có trong Astra Scout).CóCóHỗ trợ
assertLightModeKiểm tra device đang ở chế độ sáng.CóChỉ SimulatorHỗ trợ một phần
assertNotVisibleKiểm tra một phần tử UI không có mặt hoặc không hiển thị trên màn hình.CóCóHỗ trợ
assertNoDefectsWithAIAI kiểm tra màn hình không có bug hiển thị. Cần cấu hình AI CLI trong Settings.CóCóHỗ trợ
assertScreenshotTest hồi quy giao diện của app so với các ảnh chụp màn hình có sẵn.CóCóHỗ trợ
assertTrueKiểm tra một biểu thức JavaScript có giá trị true.CóCóHỗ trợ
assertWithAIDùng AI kiểm tra một mệnh đề bằng ngôn ngữ tự nhiên về màn hình. Cần cấu hình AI CLI trong Settings.CóCóHỗ trợ
assertVisibleKiểm tra một phần tử UI đang hiển thị trên màn hình, có tự động thử lại.CóCóHỗ trợ
backNhấn nút back của hệ thống để quay lại màn hình trước.CóKhôngHỗ trợ một phần
clearKeychainXoá dữ liệu keychain iOS của app đang test.KhôngChỉ SimulatorHỗ trợ một phần
clearStateXoá dữ liệu, cache và preferences của app để đưa về trạng thái mới cài.CóCóHỗ trợ
copyTextFromSao chép nội dung text từ một phần tử UI vào clipboard hoặc biến.CóCóHỗ trợ
defineVariablesĐịnh nghĩa biến của flow từ các cặp key-value.CóCóHỗ trợ
dismissAlertBỏ qua một hộp thoại alert của hệ thống trên iOS.KhôngCóHỗ trợ một phần
doubleTapOnChạm đúp vào một phần tử UI hoặc tọa độ trên màn hình.CóCóHỗ trợ
dragAndDropNhấn một phần tử hoặc điểm rồi kéo nó tới một phần tử hoặc điểm khác.Có (Android 12+)CóHỗ trợ một phần
eraseTextXoá text trong ô nhập theo số ký tự hoặc xoá toàn bộ.CóCóHỗ trợ
evalScriptChạy các biểu thức JavaScript inline trong ngữ cảnh của flow.CóCóHỗ trợ
evalWebViewScriptChạy JavaScript trong WebView đang hiện.CóKhôngHỗ trợ một phần
extendedWaitUntilChờ một phần tử với timeout tùy chỉnh dài hơn mặc định.CóCóHỗ trợ
extractTextWithAIDùng AI đọc text trên màn hình vào một biến. Cần cấu hình AI CLI trong Settings.CóCóHỗ trợ
hideKeyboardẨn bàn phím trên màn hình nếu đang hiện.CóCóHỗ trợ
inputRandomGõ dữ liệu ngẫu nhiên theo loại đã chọn vào ô đang focus.CóCóHỗ trợ
inputRandomEmailNhập một địa chỉ e-mail ngẫu nhiên.CóCóHỗ trợ
inputRandomNumberNhập một chuỗi chữ số ngẫu nhiên.CóCóHỗ trợ
inputRandomPersonNameNhập một tên người ngẫu nhiên.CóCóHỗ trợ
inputRandomTextNhập một chuỗi chữ cái và chữ số ngẫu nhiên.CóCóHỗ trợ
inputTextNhập text vào ô đang focus, có option xử lý bàn phím.CóCóHỗ trợ
killAppBuộc dừng một app và option xoá toàn bộ dữ liệu và cache của app.CóCóHỗ trợ
launchAppMở một app, có option cấu hình quyền và xoá trạng thái.CóCóHỗ trợ
longPressOnNhấn giữ phần tử để mở context menu hoặc kéo thả.CóCóHỗ trợ
openBrowserMở một URL trong trình duyệt của device.CóCóHỗ trợ
openLinkMở một URL hoặc deep link trong app hoặc trình duyệt hệ thống.CóCóHỗ trợ
openNotificationsKéo xuống thanh thông báo trên Android.CóKhôngHỗ trợ một phần
pasteTextDán text từ clipboard vào ô nhập đang focus.CóChỉ sau copyTextFromHỗ trợ một phần
pressKeyNhấn các phím cứng như home, back, enter hoặc nút âm lượng.CóMột số phímHỗ trợ một phần
removeMediaXoá chỉ mục media trên Android, hoàn tác addMedia.CóKhôngHỗ trợ một phần
repeatLặp một khối command theo số lần chỉ định.CóCóHỗ trợ
retryThử lại một khối command khi fail, với số lần có thể cấu hình.CóCóHỗ trợ
runFlowChạy một file subflow, có thể kèm biến môi trường.CóCóHỗ trợ
runScriptChạy một file JavaScript bên ngoài và lấy kết quả đầu ra.CóCóHỗ trợ
runShellChạy một lệnh shell trên máy Mac và có thể giữ lại kết quả của nó.CóCóHỗ trợ
runWebViewScriptChạy một file JavaScript trong WebView đang hiện.CóKhôngHỗ trợ một phần
scrollCuộn dọc đơn giản xuống dưới để xem nội dung phía dưới.CóCóHỗ trợ
scrollUntilVisibleTự động cuộn cho đến khi phần tử đích hiển thị trên màn hình.CóCóHỗ trợ
setAirplaneModeBật chế độ máy bay để test hành vi khi offline.CóKhông có tác dụng trên SimulatorHỗ trợ một phần
setClipboardĐặt nội dung clipboard của device thành một giá trị text chỉ định.CóKhôngHỗ trợ một phần
setDarkModeBật hoặc tắt chế độ tối để test giao diện sáng/tối.CóChỉ SimulatorHỗ trợ một phần
setLocationĐặt vị trí GPS của device về tọa độ cụ thể để test vị trí.CóChỉ SimulatorHỗ trợ một phần
setOrientationĐổi hướng device giữa chế độ dọc và ngang.CóCóHỗ trợ
setPermissionsCấp hoặc từ chối quyền của app trong khi chạy flow.CóMột phần trên iPhone thậtHỗ trợ một phần
startRecordingBắt đầu quay màn hình để lưu video cho các run test.CóKhôngHỗ trợ một phần
stopAppDừng một app đang chạy mà không xoá dữ liệu hay trạng thái.CóCóHỗ trợ
stopRecordingDừng quay màn hình hiện tại và lưu file video.CóKhôngHỗ trợ một phần
swipeVuốt theo mọi hướng với tốc độ và khoảng cách tùy chỉnh.CóCóHỗ trợ
takeScreenshotChụp ảnh màn hình và lưu vào thư mục kết quả của test.CóCóHỗ trợ
tapOnChạm vào phần tử UI theo text, ID hoặc tọa độ, có option lặp và độ trễ.CóCóHỗ trợ
tapOnPointChạm hoặc nhấn giữ tại một toạ độ trên màn hình.CóCóHỗ trợ
toggleAirplaneModeBật hoặc tắt chế độ máy bay trong khi chạy test.CóKhông có tác dụng trên SimulatorHỗ trợ một phần
toggleDarkModeBật hoặc tắt chế độ tối trong khi chạy test.CóChỉ SimulatorHỗ trợ một phần
travelGiả lập du hành thời gian bằng cách chỉnh đồng hồ hệ thống của device.CóKhôngHỗ trợ một phần
waitTạm dừng flow trong một khoảng thời gian cố định.CóCóHỗ trợ
waitForAnimationToEndChờ animation UI hoàn tất trước khi tiếp tục.CóCóHỗ trợ

Không hỗ trợ trong Astra Scout ​

Mọi command Maestro có trang trong phần tham chiếu này đều được hỗ trợ. Ba command AI (assertWithAI, assertNoDefectsWithAI và extractTextWithAI) chạy qua AI CLI bạn cấu hình trong Settings → AI, xem Trợ lý AI.

Các tính năng Maestro thuộc Maestro Cloud hoặc Maestro Studio (upload lên cloud, thông báo, device hosted) cũng nằm ngoài phạm vi, vì Astra Scout chạy hoàn toàn cục bộ và không cần đăng nhập.