diff --git a/src/main/java/io/appium/java_client/touch/offset/ElementOption.java b/src/main/java/io/appium/java_client/touch/offset/ElementOption.java index 8cf1c8c6a..ede90103c 100644 --- a/src/main/java/io/appium/java_client/touch/offset/ElementOption.java +++ b/src/main/java/io/appium/java_client/touch/offset/ElementOption.java @@ -6,7 +6,7 @@ import org.openqa.selenium.Point; import org.openqa.selenium.WebElement; -import org.openqa.selenium.remote.RemoteWebElement; +import org.openqa.selenium.internal.HasIdentity; import java.util.HashMap; import java.util.Map; @@ -84,9 +84,9 @@ public ElementOption withCoordinates(int xOffset, int yOffset) { public ElementOption withElement(WebElement element) { checkNotNull(element); checkArgument(true, "Element should be an instance of the class which " - + "extends org.openqa.selenium.remote.RemoteWebElement", - (RemoteWebElement.class.isAssignableFrom(element.getClass()))); - elementId = RemoteWebElement.class.cast(element).getId(); + + "implements org.openqa.selenium.internal.HasIdentity", + element instanceof HasIdentity); + elementId = ((HasIdentity) element).getId(); return this; } diff --git a/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java b/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java index 72ef8441f..4476ed33e 100644 --- a/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java +++ b/src/test/java/io/appium/java_client/touch/TouchOptionsTests.java @@ -27,7 +27,7 @@ import java.util.Map; public class TouchOptionsTests { - private static final WebElement DUMMY_ELEMENT = new DummyElement(); + private static final RemoteWebElement DUMMY_ELEMENT = new DummyElement(); @Test(expected = IllegalArgumentException.class) public void invalidEmptyPointOptionsShouldFailOnBuild() { @@ -62,7 +62,7 @@ public void longPressOptionsShouldBuildProperly() { .withDuration(ofMillis(1)) .build(); final Map expectedOpts = new HashMap<>(); - expectedOpts.put("element", ((RemoteWebElement) DUMMY_ELEMENT).getId()); + expectedOpts.put("element", DUMMY_ELEMENT.getId()); expectedOpts.put("x", 0); expectedOpts.put("y", 0); expectedOpts.put("duration", 1L);