Espresso

Sử dụng Espresso để viết mã kiểm thử giao diện người dùng Android ngắn gọn, đẹp mắt và đáng tin cậy.

Đoạn mã sau đây cho thấy ví dụ về một quy trình kiểm thử Espresso:

Kotlin

@Test
fun greeterSaysHello() {
    onView(withId(R.id.name_field)).perform(typeText("Steve"))
    onView(withId(R.id.greet_button)).perform(click())
    onView(withText("Hello Steve!")).check(matches(isDisplayed()))
}

Java

@Test
public void greeterSaysHello() {
    onView(withId(R.id.name_field)).perform(typeText("Steve"));
    onView(withId(R.id.greet_button)).perform(click());
    onView(withText("Hello Steve!")).check(matches(isDisplayed()));
}

API cốt lõi nhỏ, dễ dự đoán và dễ tìm hiểu, nhưng vẫn để tuỳ chỉnh. Espresso kiểm thử cho thấy kỳ vọng, hoạt động tương tác và câu nhận định một cách rõ ràng mà không gây phân tâm cho nội dung tạo sẵn, cơ sở hạ tầng tuỳ chỉnh hoặc các chi tiết triển khai lộn xộn.

Quy trình kiểm thử Espresso chạy nhanh tối ưu! Thư viện này cho phép bạn bỏ các thời gian chờ, đồng bộ hoá, ngủ và thăm dò ý kiến trong khi thao tác và xác nhận trên giao diện người dùng của ứng dụng khi ứng dụng ở trạng thái nghỉ.

Đối tượng mục tiêu

Espresso nhắm đến những nhà phát triển tin rằng kiểm thử tự động là một phần không thể thiếu trong vòng đời phát triển. Mặc dù có thể dùng để kiểm thử hộp đen, nhưng những người đã quen thuộc với cơ sở mã đang kiểm thử sẽ thấy được toàn bộ sức mạnh của Espresso.

Khả năng đồng bộ hoá

Mỗi lần quy trình kiểm thử gọi onView(), Espresso sẽ chờ để thực hiện thao tác tương ứng trên giao diện người dùng hoặc câu nhận định cho đến khi đáp ứng các điều kiện đồng bộ hoá sau đây:

  • Hàng đợi thông báo không có thông báo nào mà Espresso cần xử lý ngay lập tức.
  • Hiện không có thực thể nào của AsyncTask đang thực thi một tác vụ.
  • Tất cả tài nguyên không tải do nhà phát triển xác định đều ở trạng thái rảnh.

Bằng cách thực hiện các bước kiểm tra này, Espresso tăng đáng kể khả năng chỉ một thao tác trên giao diện người dùng hoặc câu nhận định có thể xảy ra tại một thời điểm bất kỳ. Khả năng này mang lại cho bạn kết quả kiểm thử đáng tin cậy hơn.

Gói

  • espresso-core – Chứa các trình so khớp, hành động và câu nhận định View cốt lõi và cơ bản. Xem Kiến thức cơ bảnCông thức nấu ăn.
  • espresso-web – Chứa các tài nguyên hỗ trợ WebView.
  • espresso-idling-resource – Cơ chế đồng bộ hoá với các công việc trong nền của Espresso.
  • espresso-contrib – Nội dung đóng góp bên ngoài bao gồm các thao tác DatePicker, RecyclerViewDrawer, quy trình kiểm tra khả năng hỗ trợ tiếp cận và CountingIdlingResource.
  • espresso-intents – Tiện ích dùng để xác thực và giả lập ý định cho kiểm thử khép kín.
  • espresso-remote – Vị trí của chức năng đa tiến trình của Espresso.

Bạn có thể tìm hiểu thêm về các phiên bản mới nhất bằng cách đọc ghi chú phát hành.

Tài nguyên khác

Để biết thêm thông tin về cách sử dụng Espresso trong kiểm thử Android, hãy tham khảo các tài nguyên sau.

Mẫu