Android Espresso:在TextView上单击()

时间:2015-12-10 14:52:16

标签: android android-espresso

我有一个带有在xml中定义的onClick方法的TextView。在应用程序中,一切正常并且符合预期,但我不能通过Espresso工作。

我试试

onView(withId(R.id.my_text_view)).perform(click());

但是从不执行相应的方法。我怎样才能做到这一点?

这是我的TextView:

<TextView
    android:id="@+id/letter_personal_data"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layout_marginTop="25dp"
    android:background="@drawable/letter_border_background"
    android:focusable="true"
    android:focusableInTouchMode="true"
    android:clickable="true"
    android:onClick="showPersonalDataDialog"
    android:padding="@dimen/letter_standard_padding"
    android:text="@string/letter_personal_data"
    android:textAppearance="@style/LetterTextOrange"
    android:textStyle="bold" />

这就是我的测试结果:

@Test
public void myFirstTest() {
    onView(withId(R.id.letter_personal_data)).check(matches(notNullValue()));
    onView(withId(R.id.letter_personal_data)).perform(click());
    onView(withId(R.id.personal_data_name_text)).check(matches(notNullValue()));
}

1 个答案:

答案 0 :(得分:0)

试试这个:

onView(withText(R.string.letter_personal_data)).check(matches(notNullValue()));
    onView(withText(R.string.letter_personal_data)).perform(click());