我们如何使用 espresso 来测试带有 PreferenceFragment 的 android 设置活动?
Posted
技术标签:
【中文标题】我们如何使用 espresso 来测试带有 PreferenceFragment 的 android 设置活动?【英文标题】:How can we use espresso to test an android settings activity with an PreferenceFragment? 【发布时间】:2016-06-19 12:19:59 【问题描述】:我们如何在包含 PreferenceFragment 的 Settings 活动中使用 espresso onView 和 perform,如下所示: http://developer.android.com/guide/topics/ui/settings.html#Fragment
【问题讨论】:
【参考方案1】:首选项位于列表中,因此您必须像这样查询特定首选项:
// Check if is displayed
onData(allOf(is(instanceOf(Preference.class)), withKey("prefkey"))).check(matches(isDisplayed()));
// Perform click
onData(allOf(is(instanceOf(Preference.class)), withKey("prefkey"))).onChildView(withClassName(is(Switch.class.getName()))).perform(click());
我发现这篇文章很有帮助:http://www.winters.nz/2015/05/espresso-for-android-hints-properties.html
【讨论】:
链接好像坏了。也许修复它或删除它。【参考方案2】:试试下面的逻辑
// Check if it is displayed
onData(PreferenceMatchers.withKey(context.getResources().getString(R.string.prefkey))).check(matches(isDisplayed()));
【讨论】:
以上是关于我们如何使用 espresso 来测试带有 PreferenceFragment 的 android 设置活动?的主要内容,如果未能解决你的问题,请参考以下文章
Android Espresso - 如何为所有测试只运行一次设置
Espresso 不使用 Gif 动画运行 Activity 测试