Android TypeText不';行不通

Android TypeText不';行不通,android,android-espresso,Android,Android Espresso,试着用浓缩咖啡测试我的登录。如果我只点击我的领域,那么所有的工作都很好 ViewInteraction linearLayout = onView( allOf(childAtPosition( allOf(withId(R.id.nameEditText), childAtPosition( withI

试着用浓缩咖啡测试我的登录。如果我只点击我的领域,那么所有的工作都很好

 ViewInteraction linearLayout = onView(
            allOf(childAtPosition(
                    allOf(withId(R.id.nameEditText),
                            childAtPosition(
                                    withId(R.id.inputLayout),
                                    0)),
                    0),
                    isDisplayed()));
    linearLayout.check(matches(isDisplayed()))
            .perform(click());
但是如果我需要在这个字段中输入一些文本,我会遇到一些问题:

ViewInteraction linearLayout = onView(
            allOf(childAtPosition(
                    allOf(withId(R.id.nameEditText),
                            childAtPosition(
                                    withId(R.id.inputLayout),
                                    0)),
                    0),
                    isDisplayed()));
    linearLayout.check(matches(isDisplayed()))
            .perform(typeText("SomeName"));
并获取下一个错误:

android.support.test.espresso.PerformException:在视图中执行“键入文本(SomeName)”时出错(父级中位于位置0的子级(id:com.fentury.android:id/nameEditText,父级中位于位置0的子级id:com.fentury.android:id/inputLayout)

如果我尝试这样做:

 ViewInteraction appCompatEditText = onView(
            allOf(withId(R.id.nameEditText),
                    withParent(withId(R.id.inputLayout)), isDisplayed()));
    appCompatEditText.check(matches(isDisplayed()))
            .perform(click()).perform(typeText("Dog"));
我犯了同样的错误:

android.support.test.espresso.PerformException:在视图上执行“键入文本(狗)”时出错(id:com.fentury.android:id/nameEditText,并且具有父匹配:id:com.fentury.android:id/inputLayout,并在屏幕上显示给用户)


如何解决此错误?

是否使用TextInputLayout

下面的文字输入布局为我工作

    onView(
            allOf(
                    isDescendantOfA(withId(R.id.nameEditText)),
                    isAssignableFrom(EditText.class)))
            .perform(typeText("some text"));

您正在使用TextInputLayout吗

下面的文字输入布局为我工作

    onView(
            allOf(
                    isDescendantOfA(withId(R.id.nameEditText)),
                    isAssignableFrom(EditText.class)))
            .perform(typeText("some text"));

能否提供布局?如果命名正确,linearLayout无法键入文本。能否提供布局?如果命名正确,linearLayout无法键入文本。感谢您的回答!感谢您的回答!