How can i swipe horizontally after locating an element using Appium in an Android app?

可紊 提交于 2019-11-27 06:36:12

问题


I have used the following code, but it is not working:

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

and the error I get is:

getLocation cannot be resolved or is not a field

回答1:


Firstly you should try getting location as getLocation()instead of: .getLocation.getY().

Secondly you can implement swipe/scroll in all directions using:

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



回答2:


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

Best Tutorial to understand horizontal scroll - CLICK HERE



来源:https://stackoverflow.com/questions/34307482/how-can-i-swipe-horizontally-after-locating-an-element-using-appium-in-an-androi

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!