Bỏ qua, đến nội dung

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.

ParameterTypeMô tả
selectorString or MapBắ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.
pointStringTọ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").
repeatIntegerSố lần lặp lại cú chạm.
delayIntegerĐộ trễ tính bằng mili giây giữa mỗi lần chạm khi dùng repeat. Mặc định 100.
retryTapIfNoChangeBooleanNế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.
waitToSettleTimeoutMsIntegerThờ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ị.

yaml
- tapOn: "My text"

Ví dụ này dùng selector id để chạm vào phần tử.

yaml
- 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.

yaml
- tapOn:
    id: "plus_button"
    repeat: 5
    delay: 200

Thử 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.

yaml
- tapOn:
    id: "someId"
    retryTapIfNoChange: true

Chạ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.

yaml
- 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.

yaml
- 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ử đó.

yaml
- 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.

yaml
appId: com.google.android.contacts
---
- launchApp
- tapOn:
    id: ".*floating_action_button.*" # regex
- inputText: "John"
- tapOn: "Last Name"
- inputText: "Snow"
- tapOn: ".*Save.*"

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.