Как написать средства сопоставления Espresso view / данных в Java-клиенте Appium?

#java #kotlin #appium #android-espresso #appium-android

Вопрос:

Я использую Appium для тестирования приложения для Android, и сегодня мне было поручено переключиться с UIAutomator2 automator на Espresso automator. Я понял, что это будет не так просто, как просто изменить имя automator.

Насколько я могу судить, в Appium с Espresso automator очень мало (почти нет) документации для написания селекторов (средств сопоставления представлений / данных) в Java / Kotlin.

Я пытаюсь выяснить, как, например, переписать мой текущий метод для search by text . Это выглядит так:

 (driver as AndroidDriver<*>).findElementByAndroidUIAutomator("new UiSelector().textContains("$text")")
// Written for UIAutomator2
 

Я пытался:

 (driver as AndroidDriver<*>).findElement(MobileBy.androidViewMatcher(Json().toJson(
    ImmutableMap.of(
        "name", "withText",
        "args", ImmutableList.of("<text>"),
    )
)))
 

Но, похоже, не работает…

Я вижу в appium-espresso-driver readme, что я могу выполнять поиск по тексту и по многим другим данным, но я не могу просто найти документацию о том, как отправлять эти команды на сервер Appium Appium java client .

Какие-либо рекомендации по документам или помощь в том, как это сделать? Спасибо