Как я могу нажать на текстовую ссылку внутри в 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, но это тоже должно быть каким-то образом;)