Как проверить из Robotium, что мой png присутствует на экране?

Я создаю дополнительный метод:

public boolean exampleEdTxt1(){
 try{
  solo.getCurrentActivity().getResources().getDrawable(R.drawable.action_drw);
  return true;
 }
 catch(AssertionError e){
  return false;
 }
}

Но, когда тест выполняется, код

assertTrue(exampleEdTxt1());

всегда возвращает успех и код

assertFalse(exampleEdTxt1());

всегда возвращает неудачу.

Как проверить из Robotium, что мой png присутствует на экране?

2 ответа

Попробуйте использовать.isShown()

solo.getCurrentActivity().getResources().getDrawable(R.drawable.action_drw).isShown();

это утверждение я использовал, чтобы проверить, отображается ли мое изображение:

assertEquals(true, solo.getCurrentActivity().findViewById(R.id.getting_started_image_1).isShown());

Надеюсь, поможет

Здесь я проверяю для imageView

Boolean isVisible = (Boolean) solo.getCurrentActivity().findViewById(R.id.imageView1).isShown();
        assertTrue(isVisible);

Вот, чтобы проверить на рисование (изображение)

Boolean isVisible2 = (Boolean) solo.getCurrentActivity().getResources().getDrawable(R.drawable.image).isVisible();
        assertTrue(isVisible2);

imageView из xml, который я использовал:

<ImageView
    android:id="@+id/imageView1"
    android:layout_width="186dp"
    android:layout_height="90dp"
    android:src="@drawable/image" />

За

Boolean isVisible2 = (Boolean) solo.getCurrentActivity().getResources().getDrawable(R.drawable.image).isVisible();

код

assertTrue(isVisible2);

всегда возвращает успех (даже если на экране нет изображения) и код

assertFalse(isVisible2);

всегда возвращает неудачу.

Другие вопросы по тегам