在执行(...)期间获取NoMatchingViewException,但不执行前面的检查(...)

时间:2017-03-27 18:45:32

标签: android android-espresso

我有这个简单的Espresso互动:

onView(atIndex(withId(R.id.editTextTextWidget), 0)).inRoot(authViewRootMatcher)
                .check(matches(allOf(isDisplayed(), isEnabled())))
                .perform(typeText("1"));

check(matches(allOf(isDisplayed(), isEnabled())))按预期传递,但以下perform(typeText("1"))没有。对于我的生活,我无法弄清楚为什么。

所以,我无法相信我会问这个问题,但我在Android的名称中如何使用Espresso在ID为EditText的{​​{1}}中输入文字?

1 个答案:

答案 0 :(得分:0)

我通过拆分check(...)电话和perform(...)电话来解决问题:

onView(atIndex(withId(R.id.editTextTextWidget), 0)).inRoot(authViewRootMatcher)
        .check(matches(allOf(isDisplayed(), isEnabled())));
onView(atIndex(withId(R.id.editTextTextWidget), 0)).inRoot(authViewRootMatcher)
        .perform(typeText("1"));

由于某种原因,这是有效的,原来并没有。 #GooglePlz