Как прокрутить в Android с помощью клиента Java Appium? - PullRequest
0 голосов
/ 14 апреля 2019

Я пытаюсь автоматизировать нативное приложение для 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>

Ответы [ 3 ]

2 голосов
/ 15 апреля 2019

Вы можете использовать findElementByAndroidUIAumator с различными условиями, такими как текст, описание:

((AndroidDriver<?>) appiumDriver).findElementByAndroidUIAutomator("new UiScrollable(new UiSelector().scrollable(true).instance(0)).scrollIntoView(new UiSelector().textContains(\""+ text + "\").instance(0))");
0 голосов
/ 25 апреля 2019

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))"));

В этом блоге рассказывается о различных решениях для прокрутки и прокрутки.

0 голосов
/ 16 апреля 2019
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 - это AutoId / Cont-Description прокручиваемого списка

uiClassSelector - это имя класса прокручиваемого списка, например, android.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 это id / resourceId прокручиваемого списка

...