在Android应用中使用Appium定位元素后如何水平滑动?

时间:2015-12-16 08:50:18

标签: android selenium-webdriver testng swipe appium

我使用了以下代码,但它无效:

int startX = driver.findElement(By.xpath("//*[@class='android.widget.FrameLayout' and @index='1']")).getLocation.getX();
int startY = driver.findElement(By.xpath("//*[@class='android.widget.FrameLayout' and @index='1']")).getLocation.getY();

我得到的错误是:

getLocation cannot be resolved or is not a field

2 个答案:

答案 0 :(得分:2)

首先,您应尝试将位置设为getLocation(),而不是:.getLocation.getY()

其次,您可以使用以下方法实现所有方向的滑动/滚动:

TouchAction action = new TouchAction(driver);

        int startY = element1.getLocation().getY() + (element1.getSize().getHeight() / 2);
        int startX = element1.getLocation().getX() + (element1.getSize().getWidth() / 2);

        int endX = element2.getLocation().getX() + (element2.getSize().getWidth() / 2);
        int endY = element2.getLocation().getY() + (element2.getSize().getHeight() / 2);

        action.press(startX, startY).waitAction(2000).moveTo(endX, endY).release().perform();

答案 1 :(得分:1)

public void horizontalScroll()
{
    size=driver.manage().window().getSize();
    int x_start=(int)(size.width*0.60);
    int x_end=(int)(size.width*0.30);
    int y=130;
    driver.swipe(x_start,y,x_end,y,4000);
}

理解水平滚动的最佳教程 - CLICK HERE