diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle index 9a5c7db..5399067 100644 --- a/gradle/dependencies.gradle +++ b/gradle/dependencies.gradle @@ -1,6 +1,6 @@ buildscript { ext.versions = [ - selenide: '5.20.0', + selenide: '5.22.0', browserupproxy: '2.1.2', netty: '4.1.60.Final', junit: '5.7.1', diff --git a/src/main/java/org/selenide/selenoid/DownloadFileInSelenoid.java b/src/main/java/org/selenide/selenoid/DownloadFileInSelenoid.java index b9b4c39..c86878f 100644 --- a/src/main/java/org/selenide/selenoid/DownloadFileInSelenoid.java +++ b/src/main/java/org/selenide/selenoid/DownloadFileInSelenoid.java @@ -2,6 +2,7 @@ import com.codeborne.selenide.Config; import com.codeborne.selenide.Driver; +import com.codeborne.selenide.files.DownloadAction; import com.codeborne.selenide.files.DownloadedFile; import com.codeborne.selenide.files.FileFilter; import com.codeborne.selenide.impl.Downloader; @@ -19,6 +20,7 @@ import java.util.List; import java.util.Optional; +import static com.codeborne.selenide.Selenide.$; import static com.codeborne.selenide.Selenide.sleep; import static com.codeborne.selenide.impl.FileHelper.moveFile; import static java.lang.System.currentTimeMillis; @@ -41,19 +43,20 @@ public DownloadFileInSelenoid() { @CheckReturnValue @Nonnull + @Override public File download(WebElementSource anyClickableElement, WebElement clickable, long timeout, - FileFilter fileFilter) throws FileNotFoundException { + FileFilter fileFilter, + DownloadAction action) throws FileNotFoundException { Driver driver = anyClickableElement.driver(); Config config = driver.config(); if (config.remote() == null) { log.debug("Working in local browser. Switching to a default FOLDER implementation."); - return super.download(anyClickableElement, clickable, timeout, fileFilter); + return super.download(anyClickableElement, clickable, timeout, fileFilter, action); } - RemoteWebDriver webDriver = (RemoteWebDriver) driver.getWebDriver(); - SelenoidClient selenoidClient = new SelenoidClient(config.remote(), webDriver.getSessionId().toString()); + SelenoidClient selenoidClient = new SelenoidClient(config.remote(), driver.getSessionId().toString()); selenoidClient.deleteDownloadedFiles(); clickable.click(); diff --git a/src/main/java/org/selenide/selenoid/SelenoidClipboard.java b/src/main/java/org/selenide/selenoid/SelenoidClipboard.java index 8dbc44a..c187840 100644 --- a/src/main/java/org/selenide/selenoid/SelenoidClipboard.java +++ b/src/main/java/org/selenide/selenoid/SelenoidClipboard.java @@ -26,7 +26,7 @@ public String getText() { log.debug("Working in local browser. Switching to a default Clipboard implementation."); return new DefaultClipboard(driver).getText(); } else { - return new SelenoidClient(driver.config().remote(), ((RemoteWebDriver) driver.getWebDriver()).getSessionId().toString()).getClipboardText(); + return new SelenoidClient(driver.config().remote(), driver.getSessionId().toString()).getClipboardText(); } } @@ -36,7 +36,7 @@ public void setText(String text) { log.debug("Working in local browser. Switching to a default Clipboard implementation."); new DefaultClipboard(driver).setText(text); } else { - new SelenoidClient(driver.config().remote(), ((RemoteWebDriver) driver.getWebDriver()).getSessionId().toString()).setClipboardText(text); + new SelenoidClient(driver.config().remote(), driver.getSessionId().toString()).setClipboardText(text); } } } diff --git a/src/test/java/org/selenide/selenoid/SelenoidClientTest.java b/src/test/java/org/selenide/selenoid/SelenoidClientTest.java index f6a6d38..a6cbde2 100644 --- a/src/test/java/org/selenide/selenoid/SelenoidClientTest.java +++ b/src/test/java/org/selenide/selenoid/SelenoidClientTest.java @@ -29,7 +29,7 @@ void encodesFileNameInUrl() throws MalformedURLException { new URL("http://localhost:4444/download/sid-01/some-file.txt") ); assertThat(client.urlOfDownloadedFile("some file (2).txt")).isEqualTo( - new URL("http://localhost:4444/download/sid-01/some%20file%20(2).txt") + new URL("http://localhost:4444/download/sid-01/some%20file%20%282%29.txt") ); } } \ No newline at end of file