Android 在不同的活动中测试两个文本

Android 在不同的活动中测试两个文本,android,android-testing,android-espresso,Android,Android Testing,Android Espresso,在活动A中,我单击一个按钮并调用活动B。然后我匹配活动B中的AddressNicknickView是否与ItemAddressNicknickView中的相同 onView(withId(R.id.addressNickNameView)) .check(matches(withId(R.id.itemAddressNickNameView)))` 但我面临着这个问题 android.support.test.espresso.base.DefaultFail

在活动A中,我单击一个按钮并调用活动B。然后我匹配活动B中的AddressNicknickView是否与ItemAddressNicknickView中的相同

     onView(withId(R.id.addressNickNameView))
            .check(matches(withId(R.id.itemAddressNickNameView)))`
但我面临着这个问题

android.support.test.espresso.base.DefaultFailureHandler$AssertionFailedWithCauseError:“id:213136004”与所选视图不匹配。 应为:id:br.com.fastshop.ecommerce.mock.teste:id/itemAddress昵称视图 获取:text输入文本{id=2131362631,res name=component\u fast\u edittext\u edittext\u cpf,可见性=VISIBLE,宽度=998,高度=72,焦点=false


我认为Matcher无法在所有活动中都这样工作。在进行第二个活动之前,您需要捕获第一个活动的价值,例如:

@Rule
public ActivityTestRule<ActivityA> mActivityTestRule = new ActivityTestRule<>(ActivityA.class);

@Test
public void test() {
    EditText editTextA = mActivityTestRule.getActivity().findViewById(R.id.itemAddressNickNameView);
    String textA = editTextA.getText().toString();

    // Move to Activity B
    onView(R.id.button).perform(click());

    onView(withId(R.id.addressNickNameView)).check(matches(withText(textA)));
}

您是希望将AddressNicknickView的值与ItemAddressNicknickView匹配,还是希望与实际视图匹配?