From ffeedc7d86c65b9f34fde79ad2dcacd17752b59c Mon Sep 17 00:00:00 2001 From: MathisSenicourt Date: Tue, 14 Jan 2025 15:27:44 +0100 Subject: [PATCH] appium scroll deprecated update --- .../core/service/appium/impl/AppiumService.java | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/source/src/main/java/org/cerberus/core/service/appium/impl/AppiumService.java b/source/src/main/java/org/cerberus/core/service/appium/impl/AppiumService.java index efa382910..4049af650 100644 --- a/source/src/main/java/org/cerberus/core/service/appium/impl/AppiumService.java +++ b/source/src/main/java/org/cerberus/core/service/appium/impl/AppiumService.java @@ -494,11 +494,17 @@ private boolean scrollDown(TestCaseExecution testCaseExecution, By element, int return false; } - private void scroll(AppiumDriver driver, int fromX, int fromY, int toX, int toY) { - - TouchAction touchAction = new TouchAction((PerformsTouchActions) driver); - touchAction.longPress(PointOption.point(fromX, fromY)).moveTo(PointOption.point(toX, toY)).release().perform(); - + private void scroll(AppiumDriver driver, int fromX, int fromY, int toX, int toY) { //#FIXME SELENIUM #TEST (I assume this method is working but the calling methods are crashing in previous versions already) + PointerInput finger = new PointerInput(PointerInput.Kind.TOUCH, "finger"); + Sequence scrollSequence = new Sequence(finger, 0); + scrollSequence.addAction(finger.createPointerMove( + Duration.ofMillis(0), PointerInput.Origin.viewport(), fromX, fromY)); + scrollSequence.addAction(finger.createPointerDown(PointerInput.MouseButton.LEFT.asArg())); + scrollSequence.addAction(finger.createPointerMove( + Duration.ofMillis(1000), PointerInput.Origin.viewport(), toX, toY)); + scrollSequence.addAction(finger.createPointerUp(PointerInput.MouseButton.LEFT.asArg())); + + driver.perform(List.of(scrollSequence)); } public abstract String executeCommandString(Session session, String cmd, String args) throws IllegalArgumentException, JSONException;