Как проверить с помощью Robotium, что какой-либо объект на экране не доступен для использования?

Как проверить с помощью Robotium, что какой-либо объект на экране не доступен для использования?
Например: кнопка должна быть не доступна до заполнения определенного поля, т.е. надо проверять, что пока поле пустое, кнопка на экране есть, но не доступна для использования.

Если у тебя есть исходники, то можно воспользоваться двумя способами

assertFalse(solo.searchText("Text of the button"));

или

assertNull(getView(int id))

Где id - айдишка кнопки

Если же нету доступа к исходникам, то тогда

Context currContext = getTargetContext();
String packageName = currContext.getPackageName();
viewId = currContext.getResources().getIdentifier("whatYouSeeInHierarhicViewer","id", packageName);
assertNull(solo.getView(viewId));
1 лайк

Указанные вами примеры подходят если кнопки нет на экране, но как быть если она есть, но нажатие на кнопку произвести невозможно?

Добрый день, у объекта кнопка есть множество свойств. Один из свойств объекта - enabled. В Robotium есть метод, который проверяет это свойство, например:

solo.getButton("blablabutton").isEnabled(); 

Если кнопка активна:
метод вернет true

иначе false

1 лайк

Спасибо, мне помог следующий код:

assertFalse(solo.getView(“my_button”).isEnabled());

по сути, тоже самое :slight_smile: