2014-12-11 5 views
0

Я работаю с тестами, чтобы выполнить щелчок на ImageButton, но я всегда получал то же самое исключение:Работает ли Espresso с ImageButton?

Action will not be performed because the target view does not match one or more of the following constraints: is displayed on the screen to the user Target view: "ImageButton{id=2131296372,res-name=create_an_account,..

С другой стороны, она работает с кнопкой. Это код:

Espresso.onView(ViewMatchers.withId(R.id.create_an_account)).perform(ViewActions.onClick());

Gradle: com.jakewharton.espresso:espresso:1.1-r4-patched

ответ

0

Уловка, чтобы установить время сна в методе настройки до того, как он выполнит методы тестирования.

`

public void setUp(){ 
    super.setUp(); 
    try { 
      Thread.sleep(1000);    
    } catch (InterruptedException e) { 
      e.printStackTrace(); 
    } 
} 

`

0

Убедитесь, что кнопка видна на экране.

Если кнопка закрыта мягкой клавиатурой или вне экрана (например, вы используете ScrollView), вы должны сначала заверить, что кнопка видна.

Если кнопка находится под клавиатурой - спрячьте клавиатуру. Если кнопка находится вне экрана - прокрутите вниз, чтобы сделать кнопку видимой.

То же, что пользователь не может нажимать невидимые кнопки - эспрессо тоже не может.

+0

Да, это видно: ' ' –

+0

Действительно ли это видно на экране в момент нажатия? Это сообщение об ошибке сообщает, что это не так: 'view не соответствует одному или нескольким из следующих ограничений: отображается на экране пользователю – ezaquarii

+0

Проблема в том, что выполнение кода выполняется до эмулятора или устройство открывает приложение. Это «мачете», чтобы написать время сна. Теоретически Эспрессо должен был бы дождаться, что представление загружено полностью. –