Espresso - 如何匹配 ActionBar 的可见性?

Posted

技术标签:

【中文标题】Espresso - 如何匹配 ActionBar 的可见性?【英文标题】:Espresso - How to match ActionBar visibility? 【发布时间】:2014-11-25 16:18:19 【问题描述】:

我正在尝试进行 Espresso 测试以检查操作栏是否隐藏/显示,但我似乎无法弄清楚如何将其与 Espresso.onView(...) 匹配。 Afaik 它没有 id,对吧?

非常感谢

【问题讨论】:

【参考方案1】:

操作栏视图有一个 ID,但它没有公开。我们可以通过getIdentifier获得它:

Resources resources = getInstrumentation().getTargetContext().getResources();
int actionBarId = resources.getIdentifier("action_bar_container", "id", "android");
onView(withId(actionBarId)).check(matches(isDisplayed()));

代码改编自related answer。我认为这会起作用,但我还没有测试过。

【讨论】:

当我将android 更改为getPackageName() 时,此代码对我有效。

以上是关于Espresso - 如何匹配 ActionBar 的可见性?的主要内容,如果未能解决你的问题,请参考以下文章

xml Android示例,说明如何向ActionBar添加自定义徽标并确保最佳匹配启动Window。

Kotlin 中的 Espresso 正则表达式匹配器 [重复]

Espresso:匹配对话框下的视图

Android Espresso - 嵌套父母的组合视图匹配器

Android Espresso 在 GridView 上使用 onData() 匹配

如何在 espresso UI 测试中检查动态文本