Khung thử nghiệm Espresso - Xem các thao tác

Như đã học trước đó, các thao tác xem tự động hóa tất cả các hành động có thể mà người dùng có thể thực hiện trong ứng dụng Android. Espresso onView và “onData” cung cấp phương thức thực hiện , chấp nhận các hành động xem và gọi / tự động hóa các hành động tương ứng của người dùng trong môi trường thử nghiệm. Ví dụ: “click ()” là một hành động xem, khi được chuyển đến phương thức onView ( R.id.myButton ) .perform (click ()) , sẽ kích hoạt sự kiện nhấp của nút (với id: “myButton” ) trong môi trường thử nghiệm.

Trong chương này, chúng ta hãy tìm hiểu về các thao tác xem được cung cấp bởi khung thử nghiệm cà phê espresso.

typeText ()

typeText () chấp nhận một đối số (văn bản) kiểu String và trả về một hành động dạng xem. Hành động dạng xem trả về nhập văn bản được cung cấp vào dạng xem. Trước khi đặt văn bản, nó chạm vào chế độ xem một lần. Nội dung có thể được đặt ở vị trí tùy ý nếu nó đã chứa văn bản.

onView(withId(R.id.text_view)).perform(typeText("Hello World!"))

typeTextIntoFocusedView ()

typeTextIntoFocusedView () tương tự như typeText () ngoại trừ việc nó đặt văn bản ngay bên cạnh vị trí con trỏ trong dạng xem.

onView(withId(R.id.text_view)).perform(typeTextIntoFocusedView("Hello World!"))

ReplaceText ()

ReplaceText () tương tự như typeText () ngoại trừ việc nó thay thế nội dung của khung nhìn.

onView(withId(R.id.text_view)).perform(typeTextIntoFocusedView("Hello World!"))

clearText ()

clearText () không có đối số và trả về một hành động dạng xem, hành động này sẽ xóa văn bản trong dạng xem.

onView(withId(R.id.text_view)).perform(clearText())

pressKey ()

pressKey () chấp nhận mã khóa (ví dụ KeyEvent.KEYCODE_ENTER) và trả về một hành động xem, thao tác này sẽ nhấn phím tương ứng với mã khóa.

onView(withId(R.id.text_view)).perform(typeText(
   "Hello World!", pressKey(KeyEvent.KEYCODE_ENTER))

pressMenuKey ()

pressMenuKey () không có đối số và trả về một hành động xem, hành động này sẽ nhấn phím menu phần cứng.

onView(withId(R.id.text_view)).perform(typeText(
   "Hello World!", pressKey(KeyEvent.KEYCODE_ENTER), pressMenuKey())

closeSoftKeyboard ()

closeSoftKeyboard () không có đối số và trả về một hành động xem, hành động này sẽ đóng bàn phím, nếu một hành động được mở.

onView(withId(R.id.text_view)).perform(typeText(
   "Hello World!", closeSoftKeyboard())

nhấp chuột()

click () không có đối số và trả về hành động dạng xem, hành động này sẽ gọi hành động bấm của dạng xem.

onView(withId(R.id.button)).perform(click())

nhấn đúp chuột()

doubleClick () không có đối số và trả về một hành động xem, hành động này sẽ gọi hành động nhấp đúp vào chế độ xem.

onView(withId(R.id.button)).perform(doubleClick())

longClick ()

longClick () không có đối số và trả về một hành động xem, hành động này sẽ gọi hành động nhấp dài của chế độ xem.

onView(withId(R.id.button)).perform(longClick())

pressBack ()

pressBack () không có đối số và trả về một hành động xem, hành động này sẽ nhấp vào nút quay lại.

onView(withId(R.id.button)).perform(pressBack())

pressBackUnconditionally ()

pressBackUnconditionally () không có đối số và trả về một hành động xem, hành động này sẽ nhấp vào nút quay lại và không đưa ra ngoại lệ nếu hành động nút quay lại thoát khỏi chính ứng dụng.

onView(withId(R.id.button)).perform(pressBack())

mở liên kết()

openLink () có hai đối số. Đối số đầu tiên (văn bản liên kết) thuộc loại Matcher và tham chiếu đến văn bản của thẻ liên kết HTML. Đối số thứ hai (url) thuộc loại Matcher và tham chiếu đến url của thẻ liên kết HTML. Nó chỉ áp dụng cho TextView . Nó trả về một hành động xem, thu thập tất cả các thẻ liên kết HTML có sẵn trong nội dung của chế độ xem văn bản, tìm thẻ liên kết khớp với đối số đầu tiên (văn bản liên kết) và đối số thứ hai (url) và cuối cùng mở url tương ứng. Chúng ta hãy coi một chế độ xem văn bản có nội dung là -

<a href="http://www.google.com/">copyright</a>

Sau đó, liên kết có thể được mở và kiểm tra bằng cách sử dụng trường hợp thử nghiệm bên dưới,

onView(withId(R.id.text_view)).perform(openLink(is("copyright"),
   is(Uri.parse("http://www.google.com/"))))

Tại đây, openLink sẽ lấy nội dung của dạng xem văn bản, tìm liên kết có bản quyền dưới dạng văn bản, www.google.com dưới dạng url và mở url trong trình duyệt.

openLinkWithText ()

openLinkWithText () có một đối số, có thể thuộc loại ** String * hoặc Matcher. Nó chỉ đơn giản là một đoạn ngắn của phương thức openLink *.

onView(withId(R.id.text_view)).perform(openLinkWithText("copyright"))

openLinkWithUri ()

openLinkWithUri () có một đối số, có thể là kiểu String hoặc Matcher. Nó chỉ đơn giản là một đoạn ngắn của phương thức openLink *.

onView(withId(R.id.text_view)).perform(openLinkWithUri("http://www.google.com/"))

pressImeActionButton ()

pressImeActionButton () không có đối số và trả về một hành động dạng xem, hành động này sẽ thực thi hành động được đặt trong cấu hình android: imeOptions . Ví dụ: nếu android: imeOptions bằng actionNext, điều này sẽ di chuyển con trỏ đến dạng xem EditText có thể có tiếp theo trong màn hình.

onView(withId(R.id.text_view)).perform(pressImeActionButton())

scrollTo ()

scrollTo () không có đối số và trả về một hành động xem, hành động này sẽ cuộn scrollView phù hợp trên màn hình.

onView(withId(R.id.scrollView)).perform(scrollTo())

vuốt xuống()

vuốtDown () không có đối số và trả về một hành động xem, hành động này sẽ kích hoạt hành động vuốt xuống trên màn hình.

onView(withId(R.id.root)).perform(swipeDown())

Kéo mạnh lên()

vuốtUp () không có đối số và trả về một hành động xem, hành động này sẽ kích hoạt hành động vuốt lên trên màn hình.

onView(withId(R.id.root)).perform(swipeUp())

vuốt sang phải()

vuốtRight () không có đối số và trả về một hành động xem, hành động này sẽ kích hoạt hành động vuốt sang phải trên màn hình.

onView(withId(R.id.root)).perform(swipeRight())

vuốtLeft ()

vuốtLeft () không có đối số và trả về một hành động xem, hành động này sẽ kích hoạt hành động vuốt sang trái trên màn hình.

onView(withId(R.id.root)).perform(swipeLeft())