tapOn
Chạm vào phần tử UI theo văn bản, ID hoặc tọa độ, có option lặp và độ trễ.
Command tapOn thực hiện cử chỉ chạm vào một phần tử UI hoặc một tọa độ cụ thể trên màn hình. Đây là command tương tác phổ biến nhất trong Astra Scout.
Thực hiện nhấn giữ
Dùng command longPressOn để nhấn giữ. Nó nhận cùng các selector và tham số như tapOn.
Tham số
Bạn có thể chỉ định phần tử đích bằng selector text viết tắt hoặc một map chứa selector và các tham số tương tác không bắt buộc.
| Parameter | Type | Mô tả |
|---|---|---|
selector | String or Map | Bắt buộc. Phần tử cần chạm. Dùng chuỗi cho selector text viết tắt (ví dụ "My Text"). Với các selector khác hoặc để thêm tham số, dùng map. Danh sách đầy đủ xem ở phần tham chiếu Selectors. |
point | String | Tọa độ cụ thể để chạm trên màn hình hoặc trong phần tử đã chọn. Dùng phần trăm tương đối (ví dụ "50%,50%") hoặc giá trị pixel tuyệt đối (ví dụ "100,200"). |
repeat | Integer | Số lần lặp lại cú chạm. |
delay | Integer | Độ trễ tính bằng mili giây giữa mỗi lần chạm khi dùng repeat. Mặc định 100. |
retryTapIfNoChange | Boolean | Nếu true, Astra Scout thử chạm lại nếu cây UI không thay đổi sau cú chạm đầu. Hữu ích để xử lý các cú chạm quá sớm khi UI chưa phản hồi. |
waitToSettleTimeoutMs | Integer | Thời gian tối đa tính bằng mili giây Astra Scout chờ màn hình ổn định trước khi chạy command tiếp theo. Đây là timeout cố gắng hết mức; Astra Scout không làm gián đoạn các thao tác cốt lõi để tuân theo nó. |
Ví dụ sử dụng
Các ví dụ sau minh họa cách dùng command tapOn và longPressOn.
Chạm vào phần tử theo text hoặc ID
Cách nhanh nhất để tương tác với app là qua text hiển thị hoặc mã định danh kỹ thuật. Ví dụ này cho thấy cách viết tắt để chạm phần tử theo text hiển thị.
- tapOn: "My text"Ví dụ này dùng selector id để chạm vào phần tử.
- tapOn:
id: "your.view.id"Lặp cú chạm
Nếu cần chạm cùng một phần tử nhiều lần liên tiếp, dùng repeat. Option này hữu ích, ví dụ, khi cần tăng giá trị của một bộ đếm.
Nếu cần chờ animation kết thúc trước khi chạm lần tiếp theo, dùng delay. Ví dụ này chạm nút năm lần với độ trễ 200 ms giữa mỗi lần.
- tapOn:
id: "plus_button"
repeat: 5
delay: 200Thử chạm lại nếu UI không phản hồi
Nếu cú chạm bị bỏ qua vì đích chưa sẵn sàng hoặc animation vẫn đang chạy, dùng retryTapIfNoChange. Ví dụ này thử chạm lại nếu UI không đổi sau lần thử đầu.
- tapOn:
id: "someId"
retryTapIfNoChange: trueChạm vào một tọa độ cụ thể
Dù nên ưu tiên selector phần tử, bạn vẫn có thể nhắm vào các điểm cụ thể trên màn hình. Ví dụ này chạm vào tâm màn hình.
- tapOn:
point: "50%,50%"Ví dụ này chạm vào một tọa độ tuyệt đối trên màn hình.
- tapOn:
point: "100,200"Thông tin
Ưu tiên selector phần tử như id hoặc text hơn tọa độ. Chạm theo tọa độ có thể làm test dễ vỡ và phụ thuộc device.
Chạm vào một tọa độ trong phần tử
Ví dụ này tìm phần tử chứa text cụ thể rồi chạm vào một điểm gần cuối phần tử đó.
- tapOn:
text: "A text with a hyperlink"
point: "90%,50%"Ví dụ flow đầy đủ
Ví dụ này minh họa chuỗi command để thêm một liên hệ mới.
appId: com.google.android.contacts
---
- launchApp
- tapOn:
id: ".*floating_action_button.*" # regex
- inputText: "John"
- tapOn: "Last Name"
- inputText: "Snow"
- tapOn: ".*Save.*"Nội dung liên quan
Xem các command liên quan:
Hoặc tìm hiểu các cách xác định phần tử bằng Selectors.
