Bỏ qua, đến nội dung

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: 10000

Tham số ​

Tham sốKiểuMô tả
commandStringBắt buộc. Dòng lệnh cần chạy.
outputStringTê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}.
envMapBiến môi trường bổ sung cho lệnh.
timeoutIntegerSố 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_PLATFORM và 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 enable

Giữ 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.