ViewMatchers
public
final
class
ViewMatchers
extends Object
java.lang.Object | |
↳ | android.support.test.espresso.matcher.ViewMatchers |
A collection of hamcrest matchers that match View
s.
Summary
Nested classes | |
---|---|
enum |
ViewMatchers.Visibility
Enumerates the possible list of values for |
Public methods | |
---|---|
static
<T>
void
|
assertThat(String message, T actual, Matcher<T> matcher)
A replacement for MatcherAssert.assertThat that renders View objects nicely. |
static
<T>
void
|
assertThat(T actual, Matcher<T> matcher)
A replacement for MatcherAssert.assertThat that renders View objects nicely. |
static
Matcher<View>
|
hasBackground(int drawableId)
Returns a matcher that matches |
static
Matcher<View>
|
hasChildCount(int childCount)
Matches a |
static
Matcher<View>
|
hasContentDescription()
Returns an
|
static
Matcher<View>
|
hasDescendant(Matcher<View> descendantMatcher)
Returns a matcher that matches |
static
Matcher<View>
|
hasErrorText(String expectedError)
Returns a matcher that matches |
static
Matcher<View>
|
hasErrorText(Matcher<String> stringMatcher)
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<? extends View> clazz)
Matches |
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. |
static
Matcher<View>
|
isClickable()
Returns a matcher that matches |
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. |
static
Matcher<View>
|
isDescendantOfA(Matcher<View> ancestorMatcher)
Returns a matcher that matches |
static
Matcher<View>
|
isDisplayed()
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>
|
isEnabled()
Returns a matcher that matches |
static
Matcher<View>
|
isFocusable()
Returns a matcher that matches |
static
Matcher<View>
|
isJavascriptEnabled()
Returns a matcher that matches |
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. |
static
Matcher<View>
|
isRoot()
Returns a matcher that matches root |
static
Matcher<View>
|
isSelected()
Returns a matcher that matches |
static
Matcher<View>
|
supportsInputMethods()
Returns a matcher that matches views that support input methods. |
static
Matcher<View>
|
withAlpha(float alpha)
Matches |
static
Matcher<View>
|
withChild(Matcher<View> childMatcher)
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<? extends CharSequence> charSequenceMatcher)
Returns an
|
static
Matcher<View>
|
withEffectiveVisibility(ViewMatchers.Visibility visibility)
Returns a matcher that matches |
static
Matcher<View>
|
withHint(Matcher<String> stringMatcher)
Returns a matcher that matches |
static
Matcher<View>
|
withHint(int resourceId)
Returns a matcher that matches a descendant of |
static
Matcher<View>
|
withHint(String hintText)
Returns a matcher that matches |
static
Matcher<View>
|
withId(Matcher<Integer> integerMatcher)
Returns a matcher that matches |
static
Matcher<View>
|
withId(int id)
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(String text)
Returns a matcher that matches |
static
Matcher<View>
|
withSpinnerText(Matcher<String> stringMatcher)
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>
|
withText(Matcher<String> stringMatcher)
Returns a matcher that matches |
static
Matcher<View>
|
withText(String text)
Returns a matcher that matches |
static
Matcher<View>
|
withText(int resourceId)
Returns a matcher that matches a descendant of |
Inherited methods | |
---|---|
From
class
java.lang.Object
|
Public methods
assertThat
void assertThat (String message, T actual, Matcher<T> matcher)
A replacement for MatcherAssert.assertThat that renders View objects nicely.
Parameters | |
---|---|
message |
String : the message to display. |
actual |
T : the actual value. |
matcher |
Matcher : a matcher that accepts or rejects actual.
|
assertThat
void assertThat (T actual, Matcher<T> matcher)
A replacement for MatcherAssert.assertThat that renders View objects nicely.
Parameters | |
---|---|
actual |
T : the actual value. |
matcher |
Matcher : a matcher that accepts or rejects actual.
|
hasBackground
Matcher<View> hasBackground (int drawableId)
Returns a matcher that matches View
based on background resource.
Note: This method compares images at a pixel level and might have significant performance implications for larger bitmaps.
This API is currently in beta.
Parameters | |
---|---|
drawableId |
int |
Returns | |
---|---|
Matcher<View> |
hasChildCount
Matcher<View> hasChildCount (int childCount)
Matches a ViewGroup
if it has exactly the specified number of children.
Parameters | |
---|---|
childCount |
int |
Returns | |
---|---|
Matcher<View> |
hasContentDescription
Matcher<View> hasContentDescription ()
Returns an
Matcher
that matches Views
with any content description.
Returns | |
---|---|
Matcher<View> |
hasDescendant
Matcher<View> hasDescendant (Matcher<View> descendantMatcher)
Returns a matcher that matches Views
based on the presence of a descendant in its
view hierarchy.
Parameters | |
---|---|
descendantMatcher |
Matcher : the type of the descendant to match on
|
Returns | |
---|---|
Matcher<View> |
hasErrorText
Matcher<View> hasErrorText (String expectedError)
Returns a matcher that matches EditText
based on edit text error string value.
Note: Sugar for hasErrorText(is("string"))
.
Parameters | |
---|---|
expectedError |
String |
Returns | |
---|---|
Matcher<View> |
hasErrorText
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)
Parameters | |
---|---|
stringMatcher |
Matcher |
Returns | |
---|---|
Matcher<View> |
hasFocus
Matcher<View> hasFocus ()
Returns a matcher that matches Views
currently have focus.
Returns | |
---|---|
Matcher<View> |
hasImeAction
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 | |
---|---|
imeAction |
int : the IME action to match
|
Returns | |
---|---|
Matcher<View> |
hasImeAction
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
.
Parameters | |
---|---|
imeActionMatcher |
Matcher : a matcher for the IME action
|
Returns | |
---|---|
Matcher<View> |
hasLinks
Matcher<View> hasLinks ()
Returns a matcher that matches TextViews
that have links.
Returns | |
---|---|
Matcher<View> |
hasMinimumChildCount
Matcher<View> hasMinimumChildCount (int minChildCount)
Matches a ViewGroup
if it has at least the specified number of children.
Parameters | |
---|---|
minChildCount |
int |
Returns | |
---|---|
Matcher<View> |
hasSibling
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).
Parameters | |
---|---|
siblingMatcher |
Matcher : a Matcher
for the sibling of the view.
|
Returns | |
---|---|
Matcher<View> |
hasTextColor
Matcher<View> hasTextColor (int colorResId)
Returns a matcher that matches TextView
based on it's color.
This API is currently in beta.
Parameters | |
---|---|
colorResId |
int |
Returns | |
---|---|
Matcher<View> |
isAssignableFrom
Matcher<View> isAssignableFrom (Class<? extends 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.
Parameters | |
---|---|
clazz |
Class |
Returns | |
---|---|
Matcher<View> |
isChecked
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.
Returns | |
---|---|
Matcher<View> |
isClickable
Matcher<View> isClickable ()
Returns a matcher that matches Views
that are clickable.
Returns | |
---|---|
Matcher<View> |
isCompletelyDisplayed
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.
Returns | |
---|---|
Matcher<View> |
isDescendantOfA
Matcher<View> isDescendantOfA (Matcher<View> ancestorMatcher)
Returns a matcher that matches Views
based on the given ancestor type.
Parameters | |
---|---|
ancestorMatcher |
Matcher : the type of the ancestor to match on
|
Returns | |
---|---|
Matcher<View> |
isDisplayed
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()
.
Returns | |
---|---|
Matcher<View> |
isDisplayingAtLeast
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 | |
---|---|
areaPercentage |
int : 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.
|
Returns | |
---|---|
Matcher<View> |
isEnabled
Matcher<View> isEnabled ()
Returns a matcher that matches Views
that are enabled.
Returns | |
---|---|
Matcher<View> |
isFocusable
Matcher<View> isFocusable ()
Returns a matcher that matches Views
that are focusable.
Returns | |
---|---|
Matcher<View> |
isJavascriptEnabled
Matcher<View> isJavascriptEnabled ()
Returns a matcher that matches WebView
if they are evaluating JavaScript
.
Returns | |
---|---|
Matcher<View> |
isNotChecked
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.
Returns | |
---|---|
Matcher<View> |
isSelected
Matcher<View> isSelected ()
Returns a matcher that matches Views
that are selected.
Returns | |
---|---|
Matcher<View> |
supportsInputMethods
Matcher<View> supportsInputMethods ()
Returns a matcher that matches views that support input methods.
Returns | |
---|---|
Matcher<View> |
withAlpha
Matcher<View> withAlpha (float alpha)
Matches Views
with the specified alpha value.
Parameters | |
---|---|
alpha |
float |
Returns | |
---|---|
Matcher<View> |
withChild
Matcher<View> withChild (Matcher<View> childMatcher)
Returns true
only if the view's child is accepted by the provided matcher.
Parameters | |
---|---|
childMatcher |
Matcher : the matcher to apply on the child views.
|
Returns | |
---|---|
Matcher<View> |
withClassName
Matcher<View> withClassName (Matcher<String> classNameMatcher)
Returns a matcher that matches Views with class name matching the given matcher.
Parameters | |
---|---|
classNameMatcher |
Matcher |
Returns | |
---|---|
Matcher<View> |
withContentDescription
Matcher<View> withContentDescription (int resourceId)
Returns a
Matcher
that matches Views
based on content description property
value.
Parameters | |
---|---|
resourceId |
int : the resource id of the content description to match on.
|
Returns | |
---|---|
Matcher<View> |
withContentDescription
Matcher<View> withContentDescription (String text)
Returns an
Matcher
that matches Views
based on content description property
value. Sugar for withContentDescription(is("string"))
.
Parameters | |
---|---|
text |
String : the text to match on.
|
Returns | |
---|---|
Matcher<View> |
withContentDescription
Matcher<View> withContentDescription (Matcher<? extends CharSequence> charSequenceMatcher)
Returns an
Matcher
that matches Views
based on content description property
value.
Parameters | |
---|---|
charSequenceMatcher |
Matcher : a CharSequence Matcher
for the content description
|
Returns | |
---|---|
Matcher<View> |
withEffectiveVisibility
Matcher<View> withEffectiveVisibility (ViewMatchers.Visibility 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 ERROR(/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()
.
Parameters | |
---|---|
visibility |
ViewMatchers.Visibility |
Returns | |
---|---|
Matcher<View> |
withHint
Matcher<View> withHint (Matcher<String> stringMatcher)
Returns a matcher that matches TextView
s based on hint property value.
Note: View's hint property can be null
, to match against it use
withHint(nullValue(String.class)
Parameters | |
---|---|
stringMatcher |
Matcher : Matcher
of String with text to match
|
Returns | |
---|---|
Matcher<View> |
withHint
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 | |
---|---|
resourceId |
int : the string resource the text view is expected to have as a hint.
|
Returns | |
---|---|
Matcher<View> |
withHint
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"))
.
Parameters | |
---|---|
hintText |
String : String with the hint text to match
|
Returns | |
---|---|
Matcher<View> |
withId
Matcher<View> withId (Matcher<Integer> integerMatcher)
Returns a matcher that matches View
s 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.
Parameters | |
---|---|
integerMatcher |
Matcher : a Matcher for resource ids
|
Returns | |
---|---|
Matcher<View> |
withId
Matcher<View> withId (int id)
A matcher that matches View
s 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 | |
---|---|
id |
int : the resource id.
|
Returns | |
---|---|
Matcher<View> |
withInputType
Matcher<View> withInputType (int inputType)
Returns a matcher that matches InputType
.
Parameters | |
---|---|
inputType |
int |
Returns | |
---|---|
Matcher<View> |
withParent
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.
Parameters | |
---|---|
parentMatcher |
Matcher : the matcher to apply on getParent.
|
Returns | |
---|---|
Matcher<View> |
withParentIndex
Matcher<View> withParentIndex (int index)
Returns a matcher that matches the child index inside the ViewParent
.
Parameters | |
---|---|
index |
int |
Returns | |
---|---|
Matcher<View> |
withResourceName
Matcher<View> withResourceName (String name)
Returns a matcher that matches View
s based on resource id names, (for instance,
channel_avatar).
Parameters | |
---|---|
name |
String : the resource id name
|
Returns | |
---|---|
Matcher<View> |
withResourceName
Matcher<View> withResourceName (Matcher<String> stringMatcher)
Returns a matcher that matches View
s based on resource id names, (for instance,
channel_avatar).
Parameters | |
---|---|
stringMatcher |
Matcher : a Matcher for resource id names
|
Returns | |
---|---|
Matcher<View> |
withSpinnerText
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 | |
---|---|
resourceId |
int : the resource id of the string resource the text view is expected to hold.
|
Returns | |
---|---|
Matcher<View> |
withSpinnerText
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"))
.
Parameters | |
---|---|
text |
String |
Returns | |
---|---|
Matcher<View> |
withSpinnerText
Matcher<View> withSpinnerText (Matcher<String> stringMatcher)
Returns a matcher that matches Spinner's
based on toString
value of the
selected item.
Parameters | |
---|---|
stringMatcher |
Matcher : Matcher
of String with text to match.
|
Returns | |
---|---|
Matcher<View> |
withSubstring
Matcher<View> withSubstring (String substring)
Returns a matcher that matches TextView
that contains the specific substring.
Note: View's sugar for withText(containsString("string"))
.
Parameters | |
---|---|
substring |
String : String that is expected to be contained
|
Returns | |
---|---|
Matcher<View> |
withTagKey
Matcher<View> withTagKey (int key)
Returns a matcher that matches View
based on tag keys.
Parameters | |
---|---|
key |
int : to match
|
Returns | |
---|---|
Matcher<View> |
withTagKey
Matcher<View> withTagKey (int key, Matcher<Object> objectMatcher)
Returns a matcher that matches View
s based on tag keys.
Parameters | |
---|---|
key |
int : to match |
objectMatcher |
Matcher : Object to match
|
Returns | |
---|---|
Matcher<View> |
withTagValue
Matcher<View> withTagValue (Matcher<Object> tagValueMatcher)
Returns a matcher that matches Views
based on tag property values.
Parameters | |
---|---|
tagValueMatcher |
Matcher : a Matcher for the view's tag property value
|
Returns | |
---|---|
Matcher<View> |
withText
Matcher<View> withText (Matcher<String> stringMatcher)
Returns a matcher that matches TextView
s based on text property value.
Note: A View text property is never null
. If you call setText(CharSequence)
with a null
value it will still be "" (empty string).
Do not use a null matcher.
Parameters | |
---|---|
stringMatcher |
Matcher : Matcher
of String with text to match
|
Returns | |
---|---|
Matcher<View> |
withText
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"))
.
Parameters | |
---|---|
text |
String : String with the text to match
|
Returns | |
---|---|
Matcher<View> |
withText
Matcher<View> withText (int resourceId)
Returns a matcher that matches a descendant of TextView
that is displaying the string
associated with the given resource id.
Parameters | |
---|---|
resourceId |
int : the string resource the text view is expected to hold.
|
Returns | |
---|---|
Matcher<View> |
Content and code samples on this page are subject to the licenses described in the Content License. Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
Last updated 2024-04-11 UTC.