Bỏ qua, đến nội dung

Smoke test app Settings của iOS ​

Chạy smoke test trên app Cài đặt có sẵn của iOS để xác nhận simulator hoặc iOS device đã sẵn sàng.

Smoke test là một test ngắn, chỉ kiểm tra những thứ cơ bản nhất có chạy được không. Ví dụ này là flow mẫu của chính Astra Scout. Nó chạy trên app Settings có sẵn của iOS, nên không cần cài gì lên device. Chạy nó đầu tiên để xác nhận simulator hoặc iOS device đã kết nối và Astra Scout điều khiển được.

Flow ​

yaml
# Smoke test thiết bị dùng app Settings có sẵn (không cần cài app).
appId: com.apple.Preferences
name: Settings smoke
---
- launchApp:
    stopApp: true
- tapOn: "General"
- assertVisible: "About"
  • appId: com.apple.Preferences là app Settings đi kèm iOS.
  • launchApp với stopApp: true tắt rồi mở lại Settings, nên mỗi run đều bắt đầu từ màn hình chính của Settings.
  • tapOn và assertVisible tìm theo chữ hiển thị. Chữ General và About giữ nguyên qua các bản iOS gần đây, nhưng chữ đổi theo ngôn ngữ của device (xem Test trên các locale khác nhau).

Biến nó thành bộ smoke test tái sử dụng ​

Khi flow cơ bản chạy được, bạn có thể ghép các tính năng trong hướng dẫn về Flow thành một bộ test nhỏ.

Đầu tiên, gắn tag cho flow để chọn nó từ cả workspace (xem Tìm test và tag):

yaml
appId: com.apple.Preferences
name: Settings smoke
tags:
  - smoke
---
- launchApp:
    stopApp: true
- tapOn: "General"
- assertVisible: "About"

Tiếp theo, đưa các step mở đầu dùng chung vào một subflow và gọi nó từ nhiều flow (xem Flow lồng nhau):

yaml
# subflows/open_general.yaml
appId: com.apple.Preferences
---
- launchApp:
    stopApp: true
- tapOn: "General"
yaml
# about_screen.yaml
appId: com.apple.Preferences
name: Settings - About
tags:
  - smoke
---
- runFlow: subflows/open_general.yaml
- tapOn: "About"
- assertVisible: "Name"

Cuối cùng, thêm config.yaml để chỉ chạy các flow có tag smoke:

yaml
# config.yaml
includeTags:
  - smoke

Mẹo

Mặc định Astra Scout chỉ lấy các file flow ở cấp trên cùng của thư mục, nên file trong subflows/ không tự chạy. Chúng chỉ chạy khi một flow khác gọi tới.