Найти элемент за текстом внутри другого элемента с помощью запроса UISelector - PullRequest
0 голосов
/ 03 марта 2020

У меня есть следующий фрагмент кода и прикрепленный скриншот.

String query = "new UiScrollable(new UiSelector().className(\"androidx.recyclerview.widget.RecyclerView\"))" +
                ".scrollIntoView(new UiSelector().text(\"Test Group\"))";
driver.findElementByAndroidUIAutomator (query).click ();

Я хочу найти элемент с текстом «Группа тестов», используя UISelector, но внутри только RecyclerView (не ища весь источник приложения). Вместо этого я получаю элемент внутри поля поиска (а не в RecyclerView).

Пожалуйста, совет. Я знаю, что могу получить все найденные элементы, используя findElements(By.id("name")). Но я хочу использовать селектор интерфейса пользователя в этом случае.

enter image description here

1 Ответ

0 голосов
/ 04 марта 2020

С UiSelector вы можете использовать цепочку:

String query = "new UiScrollable(resourseIdMatches(\".*recycler_view\")).scrollIntoView(resourseIdMatches(\".*recycler_view\")).childSelector(text(\"Text Group\")))";

Кроме того, new UiSelector... часть может быть опущена. Appium поддерживает этот синтаксис.

...