{% setvar book_path %}/reference/androidx/_book.yaml{% endsetvar %} {% include "_shared/_reference-head-tags.html" %}
public final class ViewMatchers
A collection of hamcrest matchers that match Views.
Nested types |
|
|---|---|
ViewMatchers.Visibility |
Enumerates the possible list of values for |
Public constructors |
|
|---|---|
Public methods |
|
|---|---|
static void |
<T> assertThat(T actual, Matcher<T> matcher)A replacement for MatcherAssert.assertThat that renders View objects nicely. |
static void |
<T> assertThat(String message, T actual, Matcher<T> matcher)A replacement for MatcherAssert.assertThat that renders View objects nicely. |
static Matcher<View> |
Returns a matcher that matches |
static Matcher<View> |
hasBackground(int drawableId)Returns a matcher that matches |
static Matcher<View> |
hasChildCount(int childCount)Matches a |
static Matcher<View> |
Returns an |
static Matcher<View> |
hasDescendant(Matcher<View> descendantMatcher)Returns a matcher that matches |
static Matcher<View> |
hasErrorText(Matcher<String> stringMatcher)Returns a matcher that matches |
static Matcher<View> |
hasErrorText(String expectedError)Returns a matcher that matches |
static Matcher<View> |
hasFocus()Returns a matcher that matches |
static Matcher<View> |
hasImeAction(int imeAction)Returns a matcher that matches views that support input methods (e.g. |
static Matcher<View> |
hasImeAction(Matcher<Integer> imeActionMatcher)Returns a matcher that matches views that support input methods (e.g. |
static Matcher<View> |
hasLinks()Returns a matcher that matches |
static Matcher<View> |
hasMinimumChildCount(int minChildCount)Matches a |
static Matcher<View> |
hasSibling(Matcher<View> siblingMatcher)Returns an |
static Matcher<View> |
hasTextColor(int colorResId)Returns a matcher that matches |
static Matcher<View> |
isAssignableFrom(Class<View> clazz)Matches |
static Matcher<View> |
Returns a matcher that accepts if and only if the view is a CompoundButton (or subtype of) and is in checked state. |
static Matcher<View> |
Returns a matcher that matches |
static Matcher<View> |
Returns a matcher which only accepts a view whose height and width fit perfectly within the currently displayed region of this view. |
static Matcher<View> |
isDescendantOfA(Matcher<View> ancestorMatcher)Returns a matcher that matches |
static Matcher<View> |
Returns a matcher that matches |
static Matcher<View> |
isDisplayingAtLeast(int areaPercentage)Returns a matcher which accepts a view so long as a given percentage of that view's area is not obscured by any parent view and is thus visible to the user. |
static Matcher<View> |
Returns a matcher that matches |
static Matcher<View> |
Returns a matcher that matches |
static Matcher<View> |
Returns a matcher that matches |
static Matcher<View> |
Returns a matcher that matches |
static Matcher<View> |
Returns a matcher that accepts if and only if the view is a CompoundButton (or subtype of) and is not in checked state. |
static Matcher<View> |
Returns a matcher that matches |
static Matcher<View> |
Returns a matcher that matches |
static Matcher<View> |
Returns a matcher that matches |
static Matcher<View> |
Returns a matcher that matches |
static Matcher<View> |
Returns a matcher that matches |
static Matcher<View> |
isRoot()Returns a matcher that matches root |
static Matcher<View> |
Returns a matcher that matches |
static Matcher<View> |
Returns a matcher that matches views that support input methods. |
static Matcher<View> |
withAlpha(float alpha)Matches |
static Matcher<View> |
Returns |
static Matcher<View> |
withClassName(Matcher<String> classNameMatcher)Returns a matcher that matches Views with class name matching the given matcher. |
static Matcher<View> |
withContentDescription(int resourceId)Returns a |
static Matcher<View> |
withContentDescription(String text)Returns an |
static Matcher<View> |
withContentDescription(Matcher<CharSequence> charSequenceMatcher)Returns an |
static Matcher<View> |
withEffectiveVisibility(Object visibility)Returns a matcher that matches |
static Matcher<View> |
Returns a matcher that matches |
static Matcher<View> |
Returns a matcher that matches |
static Matcher<View> |
withHint(int resourceId)Returns a matcher that matches a descendant of |
static Matcher<View> |
withId(int id)A matcher that matches |
static Matcher<View> |
Returns a matcher that matches |
static Matcher<View> |
withInputType(int inputType)Returns a matcher that matches |
static Matcher<View> |
withParent(Matcher<View> parentMatcher)A matcher that accepts a view if and only if the view's parent is accepted by the provided matcher. |
static Matcher<View> |
withParentIndex(int index)Returns a matcher that matches the child index inside the |
static Matcher<View> |
withResourceName(String name)Returns a matcher that matches |
static Matcher<View> |
withResourceName(Matcher<String> stringMatcher)Returns a matcher that matches |
static Matcher<View> |
withSpinnerText(int resourceId)Returns a matcher that matches a descendant of |
static Matcher<View> |
withSpinnerText(Matcher<String> stringMatcher)Returns a matcher that matches |
static Matcher<View> |
withSpinnerText(String text)Returns a matcher that matches |
static Matcher<View> |
withSubstring(String substring)Returns a matcher that matches |
static Matcher<View> |
withTagKey(int key)Returns a matcher that matches |
static Matcher<View> |
withTagKey(int key, Matcher<Object> objectMatcher)Returns a matcher that matches |
static Matcher<View> |
withTagValue(Matcher<Object> tagValueMatcher)Returns a matcher that matches |
static Matcher<View> |
Returns a matcher that matches |
static Matcher<View> |
Returns a matcher that matches |
static Matcher<View> |
withText(int resourceId)Returns a matcher that matches a descendant of |
public static void <T> assertThat(T actual, Matcher<T> matcher)
A replacement for MatcherAssert.assertThat that renders View objects nicely.
| Parameters | |
|---|---|
T actual |
the actual value. |
Matcher<T> matcher |
a matcher that accepts or rejects actual. |
public static void <T> assertThat(String message, T actual, Matcher<T> matcher)
A replacement for MatcherAssert.assertThat that renders View objects nicely.
public static Matcher<View> doesNotHaveFocus()
Returns a matcher that matches Views currently do not have focus.
public static Matcher<View> hasBackground(int drawableId)
Returns a matcher that matches android.view.View based on background resource Bitmap.
| See also | |
|---|---|
sameAs |
|
public static Matcher<View> hasChildCount(int childCount)
Matches a ViewGroup if it has exactly the specified number of children.
public static Matcher<View> hasContentDescription()
Returns an Matcher that matches Views with any content description.
public static Matcher<View> hasDescendant(Matcher<View> descendantMatcher)
Returns a matcher that matches Views based on the presence of a descendant in its view hierarchy.
public static Matcher<View> hasErrorText(Matcher<String> stringMatcher)
Returns a matcher that matches EditText based on edit text error string value.
Note: View's error property can be null, to match against it use
hasErrorText(nullValue(String.class)
public static Matcher<View> hasErrorText(String expectedError)
Returns a matcher that matches EditText based on edit text error string value.
Note: Sugar for hasErrorText(is("string")).
public static Matcher<View> hasFocus()
Returns a matcher that matches Views currently have focus.
public static Matcher<View> hasImeAction(int imeAction)
Returns a matcher that matches views that support input methods (e.g. EditText) and have the specified IME action set in its EditorInfo.
| Parameters | |
|---|---|
int imeAction |
the IME action to match |
public static Matcher<View> hasImeAction(Matcher<Integer> imeActionMatcher)
Returns a matcher that matches views that support input methods (e.g. EditText) and have the specified IME action set in its EditorInfo.
public static Matcher<View> hasLinks()
Returns a matcher that matches TextViews that have links.
public static Matcher<View> hasMinimumChildCount(int minChildCount)
Matches a ViewGroup if it has at least the specified number of children.
public static Matcher<View> hasSibling(Matcher<View> siblingMatcher)
Returns an Matcher that matches Views based on their siblings.
This may be particularly useful when a view cannot be uniquely selected on properties such as text or R.id. For example: a call button is repeated several times in a contacts layout and the only way to differentiate the call button view is by what appears next to it (e.g. the unique name of the contact).
public static Matcher<View> hasTextColor(int colorResId)
Returns a matcher that matches android.widget.TextView based on it's color.
public static Matcher<View> isAssignableFrom(Class<View> clazz)
Matches Views based on instance or subclass of the provided class.
Some versions of Hamcrest make the generic typing of this a nightmare, so we have a special case for our users.
public static Matcher<View> isChecked()
Returns a matcher that accepts if and only if the view is a CompoundButton (or subtype of) and is in checked state.
public static Matcher<View> isClickable()
Returns a matcher that matches Views that are clickable.
public static Matcher<View> isCompletelyDisplayed()
Returns a matcher which only accepts a view whose height and width fit perfectly within the currently displayed region of this view.
There exist views (such as ScrollViews) whose height and width are larger then the physical device screen by design. Such views will never be completely displayed.
public static Matcher<View> isDescendantOfA(Matcher<View> ancestorMatcher)
Returns a matcher that matches Views based on the given ancestor type.
public static Matcher<View> isDisplayed()
Returns a matcher that matches Views that are currently displayed on the screen to the user.
Note: isDisplayed will select views that are partially displayed (eg: the full height/width of the view is greater than the height/width of the visible rectangle). If you wish to ensure the entire rectangle this view draws is displayed to the user use isCompletelyDisplayed.
public static Matcher<View> isDisplayingAtLeast(int areaPercentage)
Returns a matcher which accepts a view so long as a given percentage of that view's area is not obscured by any parent view and is thus visible to the user.
| Parameters | |
|---|---|
int areaPercentage |
an integer ranging from (0, 100] indicating how much percent of the surface area of the view must be shown to the user to be accepted. |
public static Matcher<View> isEnabled()
Returns a matcher that matches Views that are enabled.
public static Matcher<View> isFocusable()
Returns a matcher that matches Views that are focusable.
public static Matcher<View> isFocused()
Returns a matcher that matches Views that are focused.
public static Matcher<View> isJavascriptEnabled()
Returns a matcher that matches WebView if they are evaluating JavaScript.
public static Matcher<View> isNotChecked()
Returns a matcher that accepts if and only if the view is a CompoundButton (or subtype of) and is not in checked state.
public static Matcher<View> isNotClickable()
Returns a matcher that matches Views that are not clickable.
public static Matcher<View> isNotEnabled()
Returns a matcher that matches Views that are not enabled.
public static Matcher<View> isNotFocusable()
Returns a matcher that matches Views that are not focusable.
public static Matcher<View> isNotFocused()
Returns a matcher that matches Views that are not focused.
public static Matcher<View> isNotSelected()
Returns a matcher that matches Views that are not selected.
public static Matcher<View> isSelected()
Returns a matcher that matches Views that are selected.
public static Matcher<View> supportsInputMethods()
Returns a matcher that matches views that support input methods.
public static Matcher<View> withAlpha(float alpha)
Matches Views with the specified alpha value.
public static Matcher<View> withChild(Matcher<View> childMatcher)
Returns true only if the view's child is accepted by the provided matcher.
public static Matcher<View> withClassName(Matcher<String> classNameMatcher)
Returns a matcher that matches Views with class name matching the given matcher.
public static Matcher<View> withContentDescription(int resourceId)
Returns a Matcher that matches Views based on content description property value.
| Parameters | |
|---|---|
int resourceId |
the resource id of the content description to match on. |
public static Matcher<View> withContentDescription(String text)
Returns an Matcher that matches Views based on content description's text value.
| Parameters | |
|---|---|
String text |
the text to match on. |
public static Matcher<View> withContentDescription(Matcher<CharSequence> charSequenceMatcher)
Returns an Matcher that matches Views based on content description property value.
| Parameters | |
|---|---|
Matcher<CharSequence> charSequenceMatcher |
a |
public static Matcher<View> withEffectiveVisibility(Object visibility)
Returns a matcher that matches Views that have "effective" visibility set to the given value.
Effective visibility takes into account not only the view's visibility value, but also that of its ancestors. In case of View.VISIBLE, this means that the view and all of its ancestors have visibility=VISIBLE. In case of GONE and INVISIBLE, it's the opposite - any GONE or INVISIBLE parent will make all of its children have their effective visibility.
Note: Contrary to what the name may imply, view visibility does not directly translate into whether the view is displayed on screen (use isDisplayed for that). For example, the view and all of its ancestors can have visibility=VISIBLE, but the view may need to be scrolled to in order to be actually visible to the user. Unless you're specifically targeting the visibility value with your test, use isDisplayed.
public static Matcher<View> withHint(String hintText)
Returns a matcher that matches TextView based on it's hint property value.
Note: View's sugar for withHint(is("string")).
public static Matcher<View> withHint(Matcher<String> stringMatcher)
Returns a matcher that matches TextViews based on hint property value.
Note: View's hint property can be null, to match against it use
withHint(nullValue(String.class)
public static Matcher<View> withHint(int resourceId)
Returns a matcher that matches a descendant of TextView that is displaying the hint associated with the given resource id.
| Parameters | |
|---|---|
int resourceId |
the string resource the text view is expected to have as a hint. |
public static Matcher<View> withId(int id)
A matcher that matches Views based on its resource id.
Same as withId(is(int)) but attempts to look up resource name of the given id and use a R.id.myView style description with describeTo. If resource lookup is unavailable, at the time describeTo is invoked, this will print out a simple "with id: %d". If the lookup for a given id fails, "with id: %d (resource name not found)" will be returned as the description.
Note: Android resource ids are not guaranteed to be unique. You may have to pair this matcher with another one to guarantee a unique view selection.
| Parameters | |
|---|---|
int id |
the resource id. |
public static Matcher<View> withId(Matcher<Integer> integerMatcher)
Returns a matcher that matches Views based on resource ids. Note: Android resource ids are not guaranteed to be unique. You may have to pair this matcher with another one to guarantee a unique view selection.
public static Matcher<View> withInputType(int inputType)
Returns a matcher that matches android.text.InputType.
public static Matcher<View> withParent(Matcher<View> parentMatcher)
A matcher that accepts a view if and only if the view's parent is accepted by the provided matcher.
public static Matcher<View> withParentIndex(int index)
Returns a matcher that matches the child index inside the ViewParent.
public static Matcher<View> withResourceName(String name)
Returns a matcher that matches Views based on resource id names, (for instance, channel_avatar).
| Parameters | |
|---|---|
String name |
the resource id name |
public static Matcher<View> withResourceName(Matcher<String> stringMatcher)
Returns a matcher that matches Views based on resource id names, (for instance, channel_avatar).
public static Matcher<View> withSpinnerText(int resourceId)
Returns a matcher that matches a descendant of Spinner that is displaying the string of the selected item associated with the given resource id.
| Parameters | |
|---|---|
int resourceId |
the resource id of the string resource the text view is expected to hold. |
public static Matcher<View> withSpinnerText(Matcher<String> stringMatcher)
Returns a matcher that matches Spinner's based on toString value of the selected item.
public static Matcher<View> withSpinnerText(String text)
Returns a matcher that matches Spinner based on it's selected item's toString value.
Note: Sugar for withSpinnerText(is("string")).
public static Matcher<View> withSubstring(String substring)
Returns a matcher that matches TextView that contains the specific substring.
Note: View's sugar for withText(containsString("string")).
public static Matcher<View> withTagKey(int key)
Returns a matcher that matches View based on tag keys.
| Parameters | |
|---|---|
int key |
to match |
public static Matcher<View> withTagKey(int key, Matcher<Object> objectMatcher)
Returns a matcher that matches Views based on tag keys.
public static Matcher<View> withTagValue(Matcher<Object> tagValueMatcher)
Returns a matcher that matches Views based on tag property values.
public static Matcher<View> withText(String text)
Returns a matcher that matches TextView based on its text property value.
Note: View's sugar for withText(is("string")).