Getting the text of elements in Espresso

Espresso is not designed to play with UI objects. When you are considering it in terms of capability for testing, it needs to be improved more. It is not as mature as Android SDK itself so you need to customize somethings to handle your requirements. Even you may need to use other tools like UIAutomator integrated into your test suite.

In this post, I want to show how we can handle getting the text of ViewInteraction view. 

ViewInteraction view does not have .text function for getting the text of the object since it is designed to interact with the object. Another method which may solve the problem of the assertion is to use the .check for matching the text, as follows:



However, this method is not a good way to assert that a certain field text equals a value. For this purpose, we need to get the text of the element and assert it. To get the text of the ViewInteraction element, we need to cast it to TextView with getting the assignable form of it then extract the text that the view holder has. You can use the following function for this assertion: 



Using it simple now, just call it whatever you want:

Comments

Popular posts from this blog

Selenium Error "Element is not currently interactable and may not be manipulated"

Performance Testing on CI: Locust is running on Jenkins

Change Default Timeout and Wait Time of Capybara

How to Set Shared Preferences in Espresso Test for Kotlin and Java

Performance Testing on CI: Integration of Locust and Jenkins