我尝试使用testID
或accessibilityLabel
访问Tab Navigator的标签组件。它适用于iOS和Xcode上的录制测试。
但是在Android上,测试记录器无法捕获accessibilityLabel
或testID
。选项卡组件中提供了以下内容:
static navigationOptions = {
tabBarTestIDProps: {
testID : "tasksTab",
accessibilityLabel: "tasksTab"
},
tabBarIcon: ({ tintColor }) => (
<View accessible accessibilityLabel="tasksTabIcon" testID="tasksTabIcon">
<TabIcon tintColor={tintColor} name="tasks" />
</View>
)
}
尝试使用以下选项访问Espresso中的Android Test中的accessibilityLabel
:
ViewInteraction tasksTab = onView(withContentDescription("tasksTab"));
导致错误:
android.support.test.espresso.NoMatchingViewException: No views in hierarchy found matching: with content description: is "tasksTab"
但是,如果我访问tasksTabIcon
它可行,但行动click()
没有任何乐趣。此外,我必须选择第一个元素,因为它找到了tasksTabIcon
的多个实例。
ViewInteraction tasksTab = onView(first(withContentDescription("tasksTabIcon")));
tasksTab.perform(click());
我还使用布局检查器检查了它,但行为是一样的。 tasksTabIcon
的标签已存在,但tasksTab
的标签不存在。