Test theo team
Chuẩn bị máy Mac và iPhone của tester từ đầu và chạy flow của team mà không cần source code của app.
Trang này đưa tester từ một máy Mac trống tới khi chạy xong flow của team. Tester không cần source code: team đưa một thư mục flow và một bản QA của app. Phần chuẩn bị làm một lần cho mỗi máy Mac và mỗi iPhone.
| Ai | Đưa gì |
|---|---|
| Tester | Máy Mac, iPhone, một Apple ID miễn phí |
| Team app | Thư mục flow, bản QA của app có iPhone của tester, và các giá trị bí mật mà flow cần |
| Chủ tài khoản Apple Developer | Đăng ký iPhone của tester để cài được bản QA |
Với simulator chỉ cần hai phần đầu của step chuẩn bị Mac. Các step cho iPhone thật ở bên dưới.
1. Chuẩn bị máy Mac
- Cài Astra Scout từ file DMG. Xem Cài đặt. Chỉ cài một lần: các bản sau tới qua cửa sổ cập nhật của app.
- Cài Xcode từ App Store, mở một lần và để nó cài các thành phần.
- Trong Xcode → Settings → Accounts, thêm Apple ID của bạn. Apple ID miễn phí là đủ. Chọn team, rồi Manage Certificates… → + → Apple Development.
- Trong Astra Scout, mở Settings → iOS (mục Team ký app) và chọn team đó trong danh sách Team.
Astra Scout chỉ dùng team này để ký WebDriverAgent, app phụ điều khiển iPhone. Chữ ký của Apple ID miễn phí có hạn 7 ngày; hết hạn thì kết nối lại iPhone, Astra Scout ký lại. Bản QA của app do team app ký, không phải bạn. Chi tiết ở Device.
2. Chuẩn bị iPhone
- Cắm cáp, mở khoá iPhone và chạm Trust khi máy hỏi "Trust This Computer?".
- Trong Xcode, mở Window → Devices and Simulators, chọn iPhone và đợi tới khi sẵn sàng.
- Trên iPhone, bật Settings → Privacy & Security → Developer Mode. Máy khởi động lại; mở khoá và xác nhận.
- Đặt Settings → Display & Brightness → Auto-Lock → Never khi test.
- Sao chép Identifier (UDID) của iPhone trong Devices and Simulators và gửi cho chủ tài khoản Apple Developer. Bản QA chỉ cài được lên iPhone có trong provisioning profile của nó, nên team app cần build lại sau khi iPhone của bạn được thêm vào.
3. Lấy flow và bản QA
Xin team app:
- Thư mục flow. Thư mục có các flow
.yaml, thư mụcsubflows/và catalogtracking-specs/. Giữ nguyên cả thư mục: flow gọi subflow theo đường dẫn tương đối. - Bản QA cho iPhone: file
.ipaký để test (development hoặc ad hoc) và có iPhone của bạn. Bản TestFlight hay App Store không dùng được choclearState. - Các giá trị bí mật mà flow dùng, ví dụ mật khẩu tài khoản sandbox. Nhập chúng thành biến, không ghi vào file flow. Xem Môi trường và biến.
4. Mở workspace và chọn file cài
- Trong Astra Scout, chọn File → Open Workspace… và chọn thư mục flow. Xem Chạy flow.
- Chọn app ở bộ chọn app trên toolbar, mở menu app → Bản build cho clearState…, bấm Chọn File… ở mục App cho iPhone thật và chọn file
.ipabản QA. Sheet Bản build clearState cho biết file có dùng được với iPhone đang cắm không, và vì sao không.
Flow bắt đầu bằng clearState sẽ gỡ app rồi cài lại file này, nên run nào cũng như vừa cài mới. Xem clearState trên iPhone thật.
5. Kết nối và chạy
- Chọn iPhone trong bộ chọn device. Lần đầu, Astra Scout build và cài WebDriverAgent, mất vài phút.
- Nếu iPhone hiện "Untrusted Developer", vào Settings → General → VPN & Device Management, chọn chứng chỉ Apple Development: …, chạm Trust, rồi kết nối lại.
- Mở một flow và bấm Chạy test (
Cmd+R), hoặc Chạy tất cả test (Shift+Cmd+R).
6. Đọc kết quả
- Navigator Test run liệt kê từng run với kết luận: Passed, Failed, Incomplete, Unsure hoặc Blocked. Blocked là issue của device hoặc phần chuẩn bị, không phải bug của app. Xem Kết luận.
- Xem bản ghi phát video của run; ảnh chụp trong flow được giữ cùng run.
- Nếu flow kiểm tracking, tab Tracking của runner cho biết event nào đã tới, event nào thiếu hoặc sai. Xem Tracking.
Khi báo bug, gửi kèm report của run, video và ~/Library/Logs/Astra Scout/server.log.
Xử lý sự cố
| Issue | Cách làm |
|---|---|
| Không có event nào từ iPhone | Kiểm tra bản QA là file đã chọn trong sheet Bản build clearState, công tắc Nhận event từ device trong mạng trong Settings → Amplitude đang bật, và Mac với iPhone dùng chung Wi-Fi. Lần đầu mở app, iOS hỏi quyền Local Network: cho phép. |
"App file required" (APP_FILE_REQUIRED) | Không có file cài dùng được cho iPhone này. Chọn file .ipa bản QA trong sheet Bản build clearState; nếu sheet báo iPhone không có trong profile, xin team app bản build mới hơn. |
| Sau một tuần WebDriverAgent không mở được | Chữ ký của Apple ID miễn phí đã hết hạn. Kết nối lại iPhone. |
| Chạm vào mirror không có tác dụng | Chọn lại iPhone trong bộ chọn device (hoặc Kết nối lại). |
"iPhone screen is locked" hoặc DEVICE_LOCKED | Mở khoá iPhone và đặt Auto-Lock là Never. Xem Khi iPhone tự khoá. |
Các issue khác ở Xử lý sự cố.
Dành cho team app
Để tester nào cũng chạy được flow mà không cần source code:
- Đọc địa chỉ Astra Scout truyền vào. Trên iOS,
launchApptruyền launch argumentscoutServerUrl. Bản QA dùng nó làmserverUrlcủa analytics thì gửi event tới đúng máy Mac đang chạy flow, nên một bản build dùng được cho mọi tester. Xem Một bản QA cho mọi máy Mac. - Build cấu hình QA, gửi event ngay lập tức và có ngoại lệ App Transport Security cho HTTP thường tới mạng nội bộ.
- Export để test (development hoặc ad hoc), không phải cho App Store, để tester cài được file
.ipavàclearStatecài lại được. - Đăng ký iPhone của từng tester (UDID) trong tài khoản Apple Developer trước khi build. Một profile development hoặc ad hoc chứa tối đa 100 iPhone mỗi năm và hết hạn sau một năm.
- Chia sẻ thư mục flow (ví dụ một Git repository mà tester kéo về) và báo tester cần đặt những biến nào.
