#java #android #mobile #automation #appium
#java #Android #Мобильный #автоматизация #appium
Вопрос:
Я пытаюсь автоматизировать собственное приложение для Android с помощью Appium. Я использую java-клиент для того же. Ниже приведены зависимости, которые я включил. Поскольку я использую версию 7 java-клиента, метод прокрутки и прокрутки не поддерживается. Итак, альтернативно, как мне прокрутить до определенного элемента?? Я наткнулся на некоторые фрагменты кода, использующие класс TouchAction, но я просто хочу знать, есть ли какое-либо альтернативное решение, кроме класса TouchAction?? Зависимость от Maven —
<dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
<version>6.8</version>
</dependency>
<dependency>
<groupId>io.appium</groupId>
<artifactId>java-client</artifactId>
<version>7.0.0</version>
</dependency>
Ответ №1:
Вы можете использовать findElementByAndroidUIAutomator с различными условиями, такими как текст, описание:
((AndroidDriver<?>) appiumDriver).findElementByAndroidUIAutomator("new UiScrollable(new UiSelector().scrollable(true).instance(0)).scrollIntoView(new UiSelector().textContains("" text "").instance(0))");
Ответ №2:
public MobileElement scrollElementByTextUsingDescription(String scrollableListContDesc, String uiClassSelector, String text) {
return driver.findElement(MobileBy.AndroidUIAutomator(
"new UiScrollable(new UiSelector().description("" scrollableList ""))"
".getChildByText(new UiSelector().className("" uiClassSelector ""), "" text "")"));
}
scrollableListContDesc — это AutomationID / продолжение -описание прокручиваемого списка
uiClassSelector — это имя класса прокручиваемого списка, например android.view.View
текст — это текст элемента, до которого вы хотите прокрутить.
Если у вас нет cont-description в прокручиваемом списке, вы можете использовать следующий метод:
public MobileElement scrollElementByTextUsingId(String scrollableListId, String uiClassSelector, String text) {
return driver.findElement(MobileBy.AndroidUIAutomator(
"new UiScrollable(new UiSelector().resourceId("" scrollableListId ""))"
".getChildByText(new UiSelector().className("" uiClassSelector ""), "" text "")"));
}
scrollableListId — это идентификатор / идентификатор ресурса прокручиваемого списка
Ответ №3:
UIScrollable / UISelector — одна из альтернатив TouchActions, которую вы можете использовать для прокрутки / прокрутки. Пример:
MobileElement element = driver.findElement(MobileBy.AndroidUIAutomator(
"new UiScrollable(new UiSelector().resourceId("com.android.vending:id/data_view")).scrollIntoView("
"new UiSelector().textContains("HelloWorld").instance(2))"));
В этом сообщении в блоге рассматриваются различные решения для прокрутки / прокрутки.