Есть отличная удаленная работа для php+codeception+jenkins+allure+docker спецов. 100% remote! Присоединиться к проекту

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


(Игорь Кожин) #1

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


(Andrew Zakordonets) #2

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

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));

(Игорь Кожин) #3

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


(Oleksandr Pylkevych) #4

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

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

Если кнопка активна:


метод вернет true

иначе false


(Игорь Кожин) #5

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

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


(Oleksandr Pylkevych) #6

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