Как я могу нажать на текстовую ссылку внутри в textview в Appium

Как я могу нажать на текстовую ссылку внутри в textview в Appium

например у меня есть строка и нет учетной записи? регистр

Только "Регистрация" имеет ссылку, другой текст отключен, когда я нажимаю на кнопку "Регистрация", перейдите на экран "Регистрация".

Но я не могу нажать на Регистрация.

См. Изображение введите описание изображения здесь

1 ответ

WebElement element = driver.findElement(By.id("element id here"));
Point point = element.getLocation();

//you can change follwing point based on your link location
int x = point.x +1;  
int y = point.y + element.getSize().getHeight() - 1;

new TouchAction(driver).tap(x, y).perform();

Я нахожу это решение здесь в обсуждении appium

Используйте этот простой код

JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);

Обычно я стараюсь избегать XPATH в своих тестах, поэтому для поиска элементов по тексту я делаю что-то вроде этого, что вернет By элемент, который будет использоваться во взаимодействии с веб-драйвером.

public static By byText(final String text)
{
    switch (Configuration.getInstance().getPlatform())
    {
        case ANDROID:
            // This requires a UiAutomator2 test driver:
            return MobileBy.AndroidUIAutomator("new UiSelector().text(\"" + text + "\")");
        case IOS:
        default:
            throw new RuntimeException("not implemented");
    }
}

К сожалению, сейчас я не знаю эквивалента iOS, но это тоже должно быть каким-то образом;)

Другие вопросы по тегам