如何在appium的textview中单击文本链接
例如我有一个字符串,没有帐户? Register
只有“注册”具有链接,其他文本被禁用,当我单击“注册”时,导航到“注册”屏幕。
但是我无法点击注册。
答案 0 :(得分:0)
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();
我找到了此解决方案here in appium discussion
答案 1 :(得分:0)
我通常会在测试中尽量避免使用XPATH,因此我正在按文本搜索Elements,我正在做类似的事情,这将返回一个By
元素以用于webdriver交互。
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相当的东西,但是应该也可以实现;)
答案 2 :(得分:0)
使用此简单代码
JavascriptExecutor executor = (JavascriptExecutor)driver;
executor.executeScript("arguments[0].click();", element);