The method below work for me.
public void SwipeRightToLeftOnElement(AndroidDriver androiddriver,MobileElement element)
{
//Right To Left
new TouchAction(androiddriver)
.press(PointOption.point(element.getRect().getX() + (element.getSize().width - 20),element.getRect().getY() + (element.getSize().height / 2)))
.waitAction(WaitOptions.waitOptions(Duration.ofMillis(3000)))
.moveTo(PointOption.point(element.getRect().getX(),element.getRect().getY() + (element.getSize().height / 2)))
.release().perform();
}
public void SwipeLeftToRightOnElement(AndroidDriver androiddriver,MobileElement element)
{
//Left To Right
new TouchAction(androiddriver)
.press(PointOption.point(element.getRect().getX(),element.getRect().getY() + (element.getSize().height / 2)))
.waitAction(WaitOptions.waitOptions(Duration.ofMillis(3000)))
.moveTo(PointOption.point(element.getRect().getX() + (element.getSize().width - 20),element.getRect().getY() + (element.getSize().height / 2)))
.release().perform();
}
public void SwipeDownToUpOnElementWithoutClosing(AndroidDriver androiddriver,MobileElement element)
{
//Down To Up
int intMiddleX = (int)(element.getRect().getX() + element.getSize().width/2);
int intUpperY = (int)(element.getRect().getY() + element.getSize().height * .9);
int intLowY = (int)(element.getRect().getY() + element.getSize().height * .1);
new TouchAction(androiddriver)
.press(PointOption.point(intMiddleX,intUpperY))
.waitAction(WaitOptions.waitOptions(Duration.ofMillis(1000)))
.moveTo(PointOption.point(intMiddleX,intLowY))
.release().perform();
}
public void SwipeUpToDownOnElement(AndroidDriver androiddriver,MobileElement element)
{
//Up To Down
int intMiddleX = (int)(element.getRect().getX() + element.getSize().width/2);
int intUpperY = (int)(element.getRect().getY() + element.getSize().height * .9);
int intLowY = (int)(element.getRect().getY() + element.getSize().height * .1);
new TouchAction(androiddriver)
.press(PointOption.point(intMiddleX,intLowY))
.waitAction(WaitOptions.waitOptions(Duration.ofMillis(1000)))
.moveTo(PointOption.point(intMiddleX,intUpperY))
.release().perform();
}
Pavan_N
November 21, 2018, 4:29am
3
call this method where it is required .
public static void Move(IPerformsTouchActions driver, int startX, int startY, int endX, int endY)
{
ITouchAction touchAction = new TouchAction(driver)
.Press(startX, startY)
.Wait(500)
.MoveTo(endX, endY)
.Release();
touchAction.Perform();
}