Espresso

Sử dụng Espresso để viết quy trình 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 một ví dụ về 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 có kích thước nhỏ, có thể dự đoán, dễ học và vẫn mở cho phần tuỳ chỉnh. Espresso kiểm thử trạng thái kỳ vọng, tương tác và câu nhận định rõ ràng mà không bị phân tâm bởi nội dung nguyên mẫu, cơ sở hạ tầng tuỳ chỉnh, hoặc các chi tiết triển khai lộn xộn gây cản trở cho bạn.

Quy trình kiểm thử Espresso chạy nhanh tối ưu! Với ứng dụng này, bạn có thể chờ, đồng bộ hoá, ngủ và cuộc thăm dò ý kiến phía sau đồng thời thao tác và xác nhận trên ứng dụng Giao diện người dùng khi thiết bị ở trạng thái tĩnh.

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

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

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

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

  • Hàng đợi thông báo không có thông báo nào mà Espresso cần ngay lập tức của chúng tôi.
  • Hiện không có thực thể AsyncTask nào đang thực thi một việc cần làm.
  • Tất cả do nhà phát triển xác định idling resource (tài nguyên không hoạt động) đang ở 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ỉ có thể xảy ra một hành động hoặc câu nhận định trên giao diện người dùng tại một thời điểm bất kỳ. Chức năng này 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 View cốt lõi và cơ bản, các hành động, và xác nhận. Xem Kiến thức cơ bảnCông thức.
  • espresso-web – Chứa các tài nguyên hỗ trợ về WebView.
  • espresso-idling-resource – Cơ chế đồng bộ hoá với các công việc ở chế độ nền của Espresso.
  • espresso-contrib - Đóng góp bên ngoài chứa DatePicker, Thao tác RecyclerViewDrawer, kiểm tra khả năng hỗ trợ tiếp cận và CountingIdlingResource.
  • espresso-intents – Phần mở rộng để xác thực và giả lập các ý định cho kiểm thử khép kín.
  • espresso-remote – Vị trí của chức năng đa quy trình của Espresso.

Bạn có thể tìm hiểu thêm về những 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 quy trình kiểm thử Android, hãy tham khảo các tài nguyên sau đây.

Mẫu