runShell
Chạy một lệnh shell trên máy Mac và có thể giữ lại kết quả của nó.
Command runShell chạy một lệnh trên máy tính chạy Astra Scout, không phải trên device. Dùng cho các công cụ như adb, xcrun simctl hay curl để chuẩn bị hoặc kiểm tra bài test. Lệnh chạy bằng sh -c nên pipe, chuyển hướng và dấu nháy hoạt động như bạn viết.
Cú pháp
yaml
- runShell: echo hello
# hoặc
- runShell:
command: curl -s https://example.com/api/token
output: TOKEN
env:
API_KEY: abc123
timeout: 10000Tham số
| Tham số | Kiểu | Mô tả |
|---|---|---|
command | String | Bắt buộc. Dòng lệnh cần chạy. |
output | String | Tên biến nhận kết quả của lệnh (stdout và stderr, đã cắt khoảng trắng). Các step sau đọc bằng ${NAME}. |
env | Map | Biến môi trường bổ sung cho lệnh. |
timeout | Integer | Số mili giây trước khi lệnh bị dừng. Mặc định 30000. |
Hành vi
- Step fail nếu lệnh thoát với error hoặc quá thời gian. Kết quả vẫn được lưu vào
output. - Chỉ giữ 64 KB cuối của kết quả.
- Lệnh thấy môi trường của bạn, các biến của flow,
env, và các giá trị sau về device đang test:MAESTRO_DEVICE_ID,MAESTRO_PLATFORMvàMAESTRO_APP_ID.
Ví dụ sử dụng
Bật Wi-Fi trên device Android đang kết nối. MAESTRO_DEVICE_ID chọn đúng device khi có nhiều device:
yaml
- runShell: adb -s $MAESTRO_DEVICE_ID shell svc wifi enableGiữ một giá trị cho step sau:
yaml
- runShell:
command: date +%s
output: NOW
- inputText: ${NOW}Lệnh chạy trên máy Mac của bạn
Đừng chạy lệnh từ flow mà bạn không tin tưởng.
