0

Как взаимодействовать с веб-активностью, запущенной из другой активности?Android Espresso: запустить тестовые примеры во второй активности

Мой тестовый пример. Запуск моей активности входа, заполнение учетных данных пользователя для редактирования текстов и выполнение действия click().

onView(withId(R.id.editTextUserId)).perform(typeText("username"),  closeSoftKeyboard()); 
onView(withId(R.id.editTextPassword)).perform(typeText("password"), closeSoftKeyboard()); 
onView(withId(R.id.loginButton)).perform(click()); 

кнопку Войти из основного проекта запускает webactivity там я заполнить еще данные в тексте поданной отображения на веб-странице.

Я пробовал с onWebView().withElement(findElement(Locator.ID, "input"));, но получал нулевую ошибку ссылки.

я не уверен, о следующем,

  1. как ждать webactivity начать? поскольку я добавляю webview во время выполнения без id.
  2. как выполнить оставшиеся тестовые примеры из веб-активности после его начала. Может ли кто-нибудь мне помочь?

Спасибо, J

ответ

0

1. Вы можете добавить идентификатор к View из кода:

создать некоторые XML-файл, например:

res/values/ids.xml 

Внутри добавить WebView ID:

<item name="form_webview" type="id"/> 

Установите его в коде:

webView.setId(R.id.form_webview); 

2. Вы должны выполнить все проверки в текущем тесте

+0

Да он работает. спасибо sswierczek. но проблема только в том, что я должен добавить все случаи в текущем тесте. Есть ли другой путь ? – Jey

+0

@Jey Я думаю, у вас есть 2 варианта. Во-первых, для создания отдельных тестовых классов для каждого «Activity» или создания некоторого тестового класса, который будет проверять многие «действия», вы не можете, и вы не должны запускать тест из других тестов. Вам нужно решить, что лучше для вас. Вы также можете попытаться повторно использовать некоторый тестовый код в обоих тестовых классах. Пожалуйста, проголосуйте и принимайте ответ, если он в порядке для вас :) – sswierczek

Смежные вопросы