我使用以下代码调用选项菜单:
openActionBarOverflowOrOptionsMenu(getInstrumentation()getTargetContext());
openActionBarOverflowOrOptionsMenu(getInstrumentation()getTargetContext());
我已经注意到的问题是主题,可以改变,假设用户是否为不同的客户端使用多种语言.所以在长时间的测试中它没用.
出于这个原因,我想使用Espresso点击特定测试用例的特定索引.
设置菜单似乎没有ID.所以我不知道如何点击该菜单中的特定项目“索引”,假设我想点击第四项.
你能帮我解决一下吗?
解决方法
所以,我会尝试一步一步地解释它:
openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext());
onView(withContentDescription("More options")).perform(click());
2)你想点击Id上的项目:
首先,为什么不想使用’strings.xml’.
使用智能手机设置语言自动更改从此文件中提取的文本,但前提是您在准确的翻译文件之前准备好了.
代码看起来像这样:
openActionBarOverflowOrOptionsMenu(getInstrumentation().getTargetContext()); onView(withText(R.string.help)).perform(click());
要么
onView(withContentDescription("More options")).perform(click()); onView(withText(R.string.help)).perform(click());
当然,你仍然可以通过它的id来捕捉视图,就像@Rodrigo说的那样.比代码更像是这样的:
onView(withContentDescription("More options")).perform(click()); onView(withId(R.id.help_item)).perform(click());
请记住,在你的xml文件中你可以为每一个’view’声明android:id,android:text或android:contentDescription.