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