如何点击Espresso测试中的位图?

时间:2015-02-03 11:40:36

标签: android testing bitmap android-espresso

我的android项目中有bitmapR.drawable.my_image),如何通过espresso测试用户界面测试此图像?我想点击这个图像,我写道:

onView(withHint(R.drawable.my_image)).perform(click());

但这不起作用:(

2 个答案:

答案 0 :(得分:1)

首先,您不要点击位图。位图本身不可见,你需要一个平均值来在屏幕上呈现它(ImageView?) 其次,R.drawable.my_image引用了Drawable调用my_image。要引用该视图,请使用R.id.<id_of_imageview>

我在测试中使用它并且工作正常。

onView(withId(R.id.imgPhoto)).perform(click());

您也可以使用ViewMatchers#withContentDescription,但我更喜欢使用withId。两者都与anyOfallOf一起使用。

实施例
onView(allOf(withId(R.id.imgPhoto) , withContentDescription("OMG"))) .check(matches(isDisplayed()));

答案 1 :(得分:0)

在我看来,R.drawable.my_image是图像的资源ID。对于这种情况,你必须使用 onView(withId(R.drawable.my_image)).perform(click());

对于获取资源ID的withHint,在google doc中提到&#34;返回匹配显示与给定资源关联的提示的TextView后代的匹配器。ID&#34;我认为这不适合你的位图。

可在this链接下找到更多详情:

如果不是这种情况,请告诉我们更多细节,找出无法点击的原因。

可以找到一些基本样本here