resourceIdMatches () не работает в Appium UiSelector - PullRequest
1 голос
/ 30 января 2020

Я использую appium для Android.

Посмотрите на приложенный скриншот. У меня есть 3 класса RecyclerView, каждый из которых имеет свой собственный идентификатор.

Я хочу прокрутить второй RecyclerView с идентификатором timePickerRecyclerMinutes, пока не найду нужное значение. У меня следующий запрос, но он не работает:

String query = "new UiScrollable(new UiSelector().resourceIdMatches(\"*:id/timePickerRecyclerMinutes\")).scrollIntoView(new UiSelector().text(\"50\"))";

Ошибка:

An unknown server-side error occurred while processing the command. Original error: java.util.regex.PatternSyntaxException: Syntax error in regexp pattern near index 1 *:id/timePickerRecyclerMinutes^

Я также попробовал ID resourceIdMatches(\"timePickerRecyclerMinutes\") - не помогло. Я понимаю, что есть какая-то ошибка регулярного выражения, можете ли вы указать мне, как это исправить?

Когда я использую полный ID и resourceId(), это работает:

resourceId(\"com.dstarlab.icommunicator.internal:id/timePickerRecyclerMinutes\")

enter image description here

1 Ответ

1 голос
/ 10 февраля 2020

Вам не хватает точки. Таким образом, вы должны изменить

С

String query = "new UiScrollable(new UiSelector().resourceIdMatches(\"*:id/timePickerRecyclerMinutes\")).scrollIntoView(new UiSelector().text(\"50\"))";

На

String query = "new UiScrollable(new UiSelector().resourceIdMatches(\".*:id/timePickerRecyclerMinutes\")).scrollIntoView(new UiSelector().text(\"50\"))";
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...