travur1988
(Игорь Кожин)
September 14, 2014, 5:30pm
#1
Добрый день! Подскажите пожалуйста, как проверить с помощью Robotiuma, что редактируемое поле, доступное в данный момент на экране пустое (т.е. ничем не заполнено)? Приложение написано для Android.
Я знаю, что можно проверить наличие какого-либо текста на экране с помощью:
assertTrue(solo.waitForText("Текст на экране"));
А как проверить что определенное поле пустое, я не знаю.
ymr999
(Yuriy Rumyantsev)
September 15, 2014, 6:45am
#2
первое, что пришло на ум - assertTrue(solo.waitForText(""));
gottergeben
(Игорь Кожин)
September 15, 2014, 6:54am
#3
assertTrue(solo.waitForText(""));
Нет, данная проверка сработает всегда, а значит нечего не проверит.
ymr999
(Yuriy Rumyantsev)
September 15, 2014, 10:23am
#4
тогда, идти через solo.getText();
gottergeben
(Игорь Кожин)
September 15, 2014, 10:37am
#5
Не понял, как именно можно сделать через solo.getText(); ? Если указать
solo.getText("");
, то это будет работать также как
assertTrue(solo.waitForText(""));
ArtOfLife
(Sergey Korol)
September 15, 2014, 10:50am
#6
TextView textView = (TextView) solo.getView(viewId);
assertTrue(textView.getText().isEmpty());
1 Like
gottergeben
(Игорь Кожин)
September 15, 2014, 11:12am
#7
А что должно быть внутри скобок isEmpty()?
ArtOfLife
(Sergey Korol)
September 15, 2014, 11:25am
#8
Ну как бы ничего .
Update : изменил референс на адроидовский, изначально был на jdk.
gottergeben
(Игорь Кожин)
September 15, 2014, 12:00pm
#9
Я когда пытаюсь указать подобную проверку
TextView textView = (TextView) solo.getView("my_id");
assertTrue(textView.getText().isEmpty());
у меня isEmpty выделяет красным и пишет
Cannot resolve method ‘isEmpty()’
Что я делаю не так?
ArtOfLife
(Sergey Korol)
September 15, 2014, 12:08pm
#10
Используете старую версию API? isEmpty() добавлен в 9й версии. В качестве аналога могу лишь предложить использовать TextUtils .
Либо делать проверку в лоб:
textView.getText().length() == 0 // or
textView.getText().equals("")
ymr999
(Yuriy Rumyantsev)
September 15, 2014, 12:09pm
#11
получить текущий текст элемента(редактируемое поле.getText()) и сравнить с эталоном.isEmpty() или захардкодить
gottergeben
(Игорь Кожин)
September 16, 2014, 11:17am
#12
Спасибо за советы. Мне помог следующий код:
TextView textView = (TextView) solo.getView("my_id");
assertTrue(textView.getText().toString().isEmpty());