答案 0 :(得分:0)
如今这是不可能的。 Espresso仅查看您的应用程序视图,我的意思是它不能用于通知,共享意图,状态栏等。
以下是我对类似问题的回答:Espresso test for Notification to showing up
Espresso UI测试框架看不到实际的View。我怀疑 严重的是,您可以使用Espresso检查任何通知。
为此目的,使用另一个Google视图测试框架
uiautomator
, 这被描述为:UI Automator是一个UI测试框架,适用于跨系统和已安装应用程序的跨应用程序功能UI测试。
在这里,您将了解如何将其与Espresso一起使用: http://qathread.blogspot.com/2015/05/espresso-uiautomator-perfect-tandem.html
更多信息:
检查uiatomator
提供的方法。如果您找不到,请不要犹豫,添加与code.google.com repo相关的问题。
希望它会有所帮助。
答案 1 :(得分:0)
尝试一下:
onView(withId(android.R.id.statusBarBackground)).check(matches(withBackgroundColor(color)));
您可能需要配色器:
public static Matcher<View> withBackgroundColor(final int colorId) {
Checks.checkNotNull(colorId);
int colorFromResource = ContextCompat.getColor(getTargetContext(), colorId);
return new BoundedMatcher<View, View>(View.class) {
@Override
public boolean matchesSafely(View view) {
int backGroundColor = ((ColorDrawable) view.getBackground()).getColor();
return colorFromResource == backGroundColor;
}
@Override
public void describeTo(Description description) {
}
};
}
或者这个: getCurrentActivity()。getWindow()。getStatusBarColor();