resourceIdMatches() 在 Appium UiSelector 中不起作用
resourceIdMatches() doesn't work in Appium UiSelector
我正在为 Android 使用 appium。
看一下随附的屏幕截图。我有 3 个 RecyclerView 类,每个都有自己的 ID。
我想滚动 ID 为 timePickerRecyclerMinutes
的第二个 RecyclerView,直到找到我需要的值。我有以下查询,但它不起作用:
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\")
你漏了一个点。所以你必须改变
来自
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\"))";
我正在为 Android 使用 appium。
看一下随附的屏幕截图。我有 3 个 RecyclerView 类,每个都有自己的 ID。
我想滚动 ID 为 timePickerRecyclerMinutes
的第二个 RecyclerView,直到找到我需要的值。我有以下查询,但它不起作用:
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\")
你漏了一个点。所以你必须改变
来自
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\"))";