diff --git a/CHANGELOG b/CHANGELOG index 967722707..2543edc5d 100644 --- a/CHANGELOG +++ b/CHANGELOG @@ -1,3 +1,8 @@ +#TESTAR v2.8.18 (20-Oct-2026) +- Bump io.appium:java-client from 10.1.1 to 11.0.0 +- Bump org.seleniumhq.selenium:selenium-java from 4.49.0 to 4.51.0 + + #TESTAR v2.8.17 (30-Sep-2026) - Bump io.github.bonigarcia:webdrivermanager from 6.3.4 to 6.4.0 diff --git a/VERSION b/VERSION index 969e36b27..b872acd1f 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -2.8.17 \ No newline at end of file +2.8.18 \ No newline at end of file diff --git a/android/src/org/testar/monkey/alayer/android/AndroidAppiumFramework.java b/android/src/org/testar/monkey/alayer/android/AndroidAppiumFramework.java index bf741c601..866f69113 100644 --- a/android/src/org/testar/monkey/alayer/android/AndroidAppiumFramework.java +++ b/android/src/org/testar/monkey/alayer/android/AndroidAppiumFramework.java @@ -34,19 +34,17 @@ import org.testar.serialisation.ScreenshotSerialiser; import io.appium.java_client.AppiumBy; -import io.appium.java_client.TouchAction; import io.appium.java_client.android.AndroidDriver; import io.appium.java_client.android.GsmCallActions; import io.appium.java_client.android.nativekey.AndroidKey; import io.appium.java_client.android.nativekey.KeyEvent; import io.appium.java_client.appmanagement.ApplicationState; -import io.appium.java_client.touch.LongPressOptions; -import io.appium.java_client.touch.offset.ElementOption; import org.testar.monkey.alayer.*; import org.testar.monkey.alayer.exceptions.SystemStopException; import org.apache.commons.io.FileUtils; import org.openqa.selenium.*; +import org.openqa.selenium.interactions.Pause; import org.openqa.selenium.interactions.PointerInput; import org.openqa.selenium.interactions.Sequence; import org.openqa.selenium.logging.LogEntries; @@ -267,24 +265,27 @@ public static void scrollElementById(String id, Widget w, int scrollDistance) { } } - public static void longClickElementById(String id, Widget w) { - if (!hasDriver("longClickElementById")) { - return; - } - - WebElement el; - if (!id.equals("")) { - el = driver.findElement(new AppiumBy.ByAccessibilityId(id)); - } - else { - String xpathString = w.get(AndroidTags.AndroidXpath); - el = driver.findElement(new By.ByXPath(xpathString)); - } - - LongPressOptions longPressOptions = new LongPressOptions(); - longPressOptions.withDuration(Duration.ofMillis(2500)).withElement(ElementOption.element(el)); - new TouchAction(driver).longPress(longPressOptions).perform(); - } + public static void longClickElementById(String id, Widget w) { + if (!hasDriver("longClickElementById")) { + return; + } + + WebElement element; + if (!id.equals("")) { + element = driver.findElement(new AppiumBy.ByAccessibilityId(id)); + } else { + String xpathString = w.get(AndroidTags.AndroidXpath); + element = driver.findElement(new By.ByXPath(xpathString)); + } + + PointerInput finger = new PointerInput(PointerInput.Kind.TOUCH, "finger"); + Sequence longPress = new Sequence(finger, 0); + longPress.addAction(finger.createPointerMove(Duration.ZERO, PointerInput.Origin.fromElement(element), 0, 0)); + longPress.addAction(finger.createPointerDown(PointerInput.MouseButton.LEFT.asArg())); + longPress.addAction(new Pause(finger, Duration.ofMillis(2500))); + longPress.addAction(finger.createPointerUp(PointerInput.MouseButton.LEFT.asArg())); + driver.perform(Collections.singletonList(longPress)); + } public static void clickBackButton() { if (!hasDriver("clickBackButton")) { diff --git a/build.gradle b/build.gradle index d11f946c8..781065b50 100644 --- a/build.gradle +++ b/build.gradle @@ -33,11 +33,11 @@ subprojects { implementation group: 'org.apache.logging.log4j', name: 'log4j-api', version: '2.15.0' implementation group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.15.0' // https://mvnrepository.com/artifact/org.seleniumhq.selenium/selenium-java - implementation group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '4.49.0' + implementation group: 'org.seleniumhq.selenium', name: 'selenium-java', version: '4.51.0' // https://mvnrepository.com/artifact/io.github.bonigarcia/webdrivermanager implementation group: 'io.github.bonigarcia', name: 'webdrivermanager', version: '6.4.0' // https://mvnrepository.com/artifact/io.appium/java-client - implementation group: 'io.appium', name: 'java-client', version: '10.1.1' + implementation group: 'io.appium', name: 'java-client', version: '11.0.0' // https://mvnrepository.com/artifact/com.orientechnologies/orientdb-graphdb implementation group: 'com.orientechnologies', name: 'orientdb-graphdb', version: '3.2.38' // https://mvnrepository.com/artifact/org.graalvm.sdk/graal-sdk diff --git a/testar/src/org/testar/monkey/Main.java b/testar/src/org/testar/monkey/Main.java index d3627de17..a3d85a80c 100644 --- a/testar/src/org/testar/monkey/Main.java +++ b/testar/src/org/testar/monkey/Main.java @@ -65,7 +65,7 @@ public class Main { - public static final String TESTAR_VERSION = "v2.8.17 (30-Sep-2026)"; + public static final String TESTAR_VERSION = "v2.8.18 (20-Oct-2026)"; //public static final String TESTAR_DIR_PROPERTY = "DIRNAME"; //Use the OS environment to obtain TESTAR directory public static final String SETTINGS_FILE = "test.settings";