Проверка о незаполненности редактируемого поля с помощью Robotium

Добрый день! Подскажите пожалуйста, как проверить с помощью Robotiuma, что редактируемое поле, доступное в данный момент на экране пустое (т.е. ничем не заполнено)? Приложение написано для Android.

Я знаю, что можно проверить наличие какого-либо текста на экране с помощью:

    assertTrue(solo.waitForText("Текст на экране"));

А как проверить что определенное поле пустое, я не знаю.

первое, что пришло на ум - assertTrue(solo.waitForText(""));

assertTrue(solo.waitForText(""));

Нет, данная проверка сработает всегда, а значит нечего не проверит.

тогда, идти через solo.getText();

Не понял, как именно можно сделать через solo.getText(); ? Если указать

solo.getText("");

, то это будет работать также как

assertTrue(solo.waitForText(""));

TextView textView = (TextView) solo.getView(viewId);
assertTrue(textView.getText().isEmpty());
1 лайк

А что должно быть внутри скобок isEmpty()?

Ну как бы ничего.
Update: изменил референс на адроидовский, изначально был на jdk.

Я когда пытаюсь указать подобную проверку

    TextView textView = (TextView) solo.getView("my_id");
    assertTrue(textView.getText().isEmpty());

у меня isEmpty выделяет красным и пишет

Cannot resolve method ‘isEmpty()’

Что я делаю не так?

Используете старую версию API? isEmpty() добавлен в 9й версии. В качестве аналога могу лишь предложить использовать TextUtils.

Либо делать проверку в лоб:

textView.getText().length() == 0 // or
textView.getText().equals("")

получить текущий текст элемента(редактируемое поле.getText()) и сравнить с эталоном.isEmpty() или захардкодить

Спасибо за советы. Мне помог следующий код:

    TextView textView = (TextView) solo.getView("my_id");
    assertTrue(textView.getText().toString().isEmpty());