gpt4 book ai didi

Android 如何使用 Espresso 检查 ImageView 的内容

转载 作者:太空狗 更新时间:2023-10-29 14:04:59 25 4
gpt4 key购买 nike

我正在使用 Glide 从 URL 将图像加载到 ImageView 中。如何在此 ImageView 上执行比较操作以检查是否确实使用 Espresso 加载了正确的 URL?我在回收站 View 中有许多这样的图像,并且正在滚动到它的每个项目,如下所示:

for(int i=0;i<length;i++){

onView(withId(R.id.people_recycler_view)).perform(RecyclerViewActions.scrollToPosition(i));

}

但是在这个循环中,我如何检查 ImageView 内容?

谢谢!

最佳答案

一个简单(但不完全)的方法是在应用程序源代码中设置图像的任何地方添加适当的内容描述,然后使用 onView(withContentDescription("Cute Picture Of Cat") );

如果这样做还不行,请在您的测试项目中添加预期的图像,并使用图像比较库将其与您在屏幕上元素边界内看到的任何内容进行比较。

例如 - 创建并使用如下所示的自定义匹配器。您还必须编写自己的图像比较方法。

onView(withId(R.id.myElementThatHasImage)).
CustomMatcher.compareImages(test.R.id.myExpectedImageID));

public static Matcher<Object> compareImages(Matcher<View> expectedImageView) {
return new TypeSafeMatcher<View>() {

@Override
public void describeTo(Description description) {
description.appendText("comparingImages");
}

@Override
protected boolean matchesSafely(View actualImageView) {
return MyCompareLibrary.compare(expectedImageView,(ImageView)actualImageView.getDrawable());
}
};
}

关于Android 如何使用 Espresso 检查 ImageView 的内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33239167/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com