Добрый день!
Связка Selenium+Java, тесты гоняются на таблете с сенсорным экраном под win10 в microsoft EDGE.
Нужно в одном месте сэмулировать тап пальцем по экрану.
Создал класс для драйвера:
public class TouchWebDriver extends RemoteWebDriver implements HasTouchScreen { private RemoteTouchScreen touch; public TouchWebDriver(URL remoteAddress, DesiredCapabilities desiredCapabilities) { super(remoteAddress, desiredCapabilities); touch = new RemoteTouchScreen(getExecuteMethod()); } @Override public TouchScreen getTouch() { return touch; } }
Получаю экземпляр:
driver = new TouchWebDriver(new URL(Env.nodeUrl), capabilities);
В тестовом методе пишу:
new TouchActions(driver).singleTap(myWebElement).perform();
И вываливаюсь в эксепшн:
org.openqa.selenium.WebDriverException: Not implemented (WARNING: The server did not provide any stacktrace information) Command duration or timeout: 0 milliseconds Build info: version: '3.12.0', revision: '7c6e0b3', time: '2018-05-08T14:04:26.12Z' System info: host: 'SPBNB-PRC1843', ip: '10.233.23.138', os.name: 'Windows 10', os.arch: 'amd64', os.version: '10.0', java.version: '1.8.0_172' Driver info: com.tsystems.mshop.common.appLogic.ApplicationManager$TouchWebDriver Capabilities {InPrivate: false, acceptSslCerts: true, applicationCacheEnabled: true, browserName: MicrosoftEdge, browserVersion: 41.16299.15.0, javascriptEnabled: true, locationContextEnabled: true, pageLoadStrategy: normal, platform: WINDOWS, platformName: WINDOWS, platformVersion: 10, takesElementScreenshot: true, takesScreenshot: true, webStorageEnabled: true, webdriver.remote.sessionid: 02A480FB-D544-4A63-B082-F93...} Session ID: 02A480FB-D544-4A63-B082-F93CB739C96C at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) at java.lang.reflect.Constructor.newInstance(Constructor.java:423) at org.openqa.selenium.remote.ErrorHandler.createThrowable(ErrorHandler.java:214) at org.openqa.selenium.remote.ErrorHandler.throwIfResponseFailed(ErrorHandler.java:166) at org.openqa.selenium.remote.http.JsonHttpResponseCodec.reconstructValue(JsonHttpResponseCodec.java:40) at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:80) at org.openqa.selenium.remote.http.AbstractHttpResponseCodec.decode(AbstractHttpResponseCodec.java:44) at org.openqa.selenium.remote.HttpCommandExecutor.execute(HttpCommandExecutor.java:158) at org.openqa.selenium.remote.RemoteWebDriver.execute(RemoteWebDriver.java:543) at org.openqa.selenium.remote.RemoteExecuteMethod.execute(RemoteExecuteMethod.java:35) at org.openqa.selenium.remote.RemoteTouchScreen.singleTap(RemoteTouchScreen.java:36) at org.openqa.selenium.interactions.touch.SingleTapAction.perform(SingleTapAction.java:35) at org.openqa.selenium.interactions.CompositeAction.perform(CompositeAction.java:36) at org.openqa.selenium.interactions.Actions$BuiltAction.perform(Actions.java:633) at org.openqa.selenium.interactions.Actions.perform(Actions.java:594)
Подскажите, пожалуйста, что я делаю не так? Может из окружения чего-то не хватает?