From 418cd44871f45c2f66a4d130eaa01c93ed462387 Mon Sep 17 00:00:00 2001 From: Andrei Solntsev Date: Sat, 17 Jul 2021 00:42:17 +0300 Subject: [PATCH] release 1.1.4 upgrade to Selenide 5.23.0 --- CHANGELOG.md | 3 + README.md | 2 +- build.gradle | 2 +- gradle/dependencies.gradle | 8 +-- .../selenoid/DownloadFileInSelenoid.java | 2 - .../org/selenide/selenoid/SelenoidClient.java | 4 +- .../selenide/selenoid/SelenoidClipboard.java | 70 ++++++++++++------- .../selenoid/SelenoidClipboardService.java | 12 ++-- .../integration/SelenoidClipboardTest.java | 17 +++-- 9 files changed, 72 insertions(+), 48 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 049b036..6a3feb4 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,8 @@ # Changelog +## 1.1.4 (released 17.07.2021) +* upgrade to Selenide 5.23.0 + ## 1.1.3 (released 08.06.2021) * #10 fix ClassCastException when using EventFiringDriver * #10 upgrade to Selenide 5.22.0 diff --git a/README.md b/README.md index c32f737..7ad57cd 100644 --- a/README.md +++ b/README.md @@ -22,7 +22,7 @@ Currently the plugin supports only one feature: We are going to implement more features, like using clipboard, reading logs and videos etc. ## Usage -1. Import `org.selenide:selenide-selenoid:1.1.2` +1. Import `org.selenide:selenide-selenoid:1.1.4` 2. Set `Configuration.fileDownload = FOLDER;` 3. Use method `$.download()` as usually. diff --git a/build.gradle b/build.gradle index 022bff9..babd82f 100644 --- a/build.gradle +++ b/build.gradle @@ -5,7 +5,7 @@ plugins { group = 'org.selenide' archivesBaseName = 'selenide-selenoid' -version = '1.1.3' +version = '1.1.4' apply from: rootProject.file('gradle/compilation.gradle') apply from: rootProject.file('gradle/dependencies.gradle') diff --git a/gradle/dependencies.gradle b/gradle/dependencies.gradle index 49376d8..57a5031 100644 --- a/gradle/dependencies.gradle +++ b/gradle/dependencies.gradle @@ -1,11 +1,11 @@ buildscript { ext.versions = [ - selenide: '5.22.0', + selenide: '5.23.0', browserupproxy: '2.1.2', netty: '4.1.65.Final', junit: '5.7.2', - assertj: '3.19.0', - slf4j: '1.7.30' + assertj: '3.20.2', + slf4j: '1.7.31' ] } @@ -23,7 +23,7 @@ dependencies { } repositories { - jcenter() + mavenCentral() maven { url uri('https://oss.sonatype.org/content/repositories/snapshots/') mavenContent { diff --git a/src/main/java/org/selenide/selenoid/DownloadFileInSelenoid.java b/src/main/java/org/selenide/selenoid/DownloadFileInSelenoid.java index c86878f..6c178c8 100644 --- a/src/main/java/org/selenide/selenoid/DownloadFileInSelenoid.java +++ b/src/main/java/org/selenide/selenoid/DownloadFileInSelenoid.java @@ -8,7 +8,6 @@ import com.codeborne.selenide.impl.Downloader; import com.codeborne.selenide.impl.WebElementSource; import org.openqa.selenium.WebElement; -import org.openqa.selenium.remote.RemoteWebDriver; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -20,7 +19,6 @@ 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; diff --git a/src/main/java/org/selenide/selenoid/SelenoidClient.java b/src/main/java/org/selenide/selenoid/SelenoidClient.java index 04aa5ca..49175f5 100644 --- a/src/main/java/org/selenide/selenoid/SelenoidClient.java +++ b/src/main/java/org/selenide/selenoid/SelenoidClient.java @@ -10,14 +10,14 @@ import javax.annotation.CheckReturnValue; import javax.annotation.Nonnull; import javax.annotation.ParametersAreNonnullByDefault; +import java.io.BufferedReader; import java.io.File; import java.io.FileOutputStream; import java.io.IOException; import java.io.InputStream; +import java.io.InputStreamReader; import java.io.OutputStream; -import java.io.BufferedReader; import java.io.OutputStreamWriter; -import java.io.InputStreamReader; import java.lang.reflect.Type; import java.net.HttpURLConnection; import java.net.MalformedURLException; diff --git a/src/main/java/org/selenide/selenoid/SelenoidClipboard.java b/src/main/java/org/selenide/selenoid/SelenoidClipboard.java index c187840..f6e5f2e 100644 --- a/src/main/java/org/selenide/selenoid/SelenoidClipboard.java +++ b/src/main/java/org/selenide/selenoid/SelenoidClipboard.java @@ -3,40 +3,58 @@ import com.codeborne.selenide.Clipboard; import com.codeborne.selenide.DefaultClipboard; import com.codeborne.selenide.Driver; -import org.openqa.selenium.remote.RemoteWebDriver; import org.slf4j.Logger; import org.slf4j.LoggerFactory; +import javax.annotation.CheckReturnValue; import javax.annotation.Nonnull; +import javax.annotation.ParametersAreNonnullByDefault; - +@ParametersAreNonnullByDefault public class SelenoidClipboard implements Clipboard { - - private Driver driver; - private static final Logger log = LoggerFactory.getLogger(SelenoidClipboard.class); - - public SelenoidClipboard(Driver driver) { - this.driver = driver; + private static final Logger log = LoggerFactory.getLogger(SelenoidClipboard.class); + + private final Driver driver; + + SelenoidClipboard(Driver driver) { + this.driver = driver; + } + + @Nonnull + @CheckReturnValue + @Override + public Driver driver() { + return driver; + } + + @Nonnull + @CheckReturnValue + @Override + public Clipboard object() { + return this; + } + + @CheckReturnValue + @Nonnull + @Override + public String getText() { + if (driver.config().remote() == null) { + log.debug("Working in local browser. Switching to a default Clipboard implementation."); + return new DefaultClipboard(driver).getText(); } - - @Nonnull - @Override - public String getText() { - if (driver.config().remote() == null) { - log.debug("Working in local browser. Switching to a default Clipboard implementation."); - return new DefaultClipboard(driver).getText(); - } else { - return new SelenoidClient(driver.config().remote(), driver.getSessionId().toString()).getClipboardText(); - } + else { + return new SelenoidClient(driver.config().remote(), driver.getSessionId().toString()).getClipboardText(); } + } - @Override - public void setText(String text) { - if (driver.config().remote() == null) { - log.debug("Working in local browser. Switching to a default Clipboard implementation."); - new DefaultClipboard(driver).setText(text); - } else { - new SelenoidClient(driver.config().remote(), driver.getSessionId().toString()).setClipboardText(text); - } + @Override + public void setText(String text) { + if (driver.config().remote() == null) { + log.debug("Working in local browser. Switching to a default Clipboard implementation."); + new DefaultClipboard(driver).setText(text); + } + else { + new SelenoidClient(driver.config().remote(), driver.getSessionId().toString()).setClipboardText(text); } + } } diff --git a/src/main/java/org/selenide/selenoid/SelenoidClipboardService.java b/src/main/java/org/selenide/selenoid/SelenoidClipboardService.java index 61b9337..f71f633 100644 --- a/src/main/java/org/selenide/selenoid/SelenoidClipboardService.java +++ b/src/main/java/org/selenide/selenoid/SelenoidClipboardService.java @@ -4,10 +4,12 @@ import com.codeborne.selenide.ClipboardService; import com.codeborne.selenide.Driver; -public class SelenoidClipboardService extends ClipboardService { +import javax.annotation.ParametersAreNonnullByDefault; - @Override - public Clipboard getClipboard(Driver driver) { - return new SelenoidClipboard(driver); - } +@ParametersAreNonnullByDefault +public class SelenoidClipboardService extends ClipboardService { + @Override + public Clipboard getClipboard(Driver driver) { + return new SelenoidClipboard(driver); + } } diff --git a/src/test/java/integration/SelenoidClipboardTest.java b/src/test/java/integration/SelenoidClipboardTest.java index c2a4a53..23691f3 100644 --- a/src/test/java/integration/SelenoidClipboardTest.java +++ b/src/test/java/integration/SelenoidClipboardTest.java @@ -1,14 +1,15 @@ package integration; -import com.codeborne.selenide.Condition; import com.codeborne.selenide.Configuration; -import com.codeborne.selenide.Selenide; import org.junit.jupiter.api.AfterEach; import org.junit.jupiter.api.BeforeEach; import org.junit.jupiter.api.Test; +import static com.codeborne.selenide.ClipboardConditions.content; +import static com.codeborne.selenide.Condition.attribute; import static com.codeborne.selenide.Condition.visible; import static com.codeborne.selenide.Selenide.$; +import static com.codeborne.selenide.Selenide.clipboard; import static com.codeborne.selenide.Selenide.closeWebDriver; import static com.codeborne.selenide.Selenide.executeJavaScript; import static com.codeborne.selenide.Selenide.open; @@ -26,15 +27,17 @@ public void prepare() { @Test public void getClipboardContent() { - $("#myInput").should(Condition.attribute("value", "Hello World")); - $("[onclick='myFunction()']").should(Condition.visible).click(); - assertEquals("Hello World", Selenide.clipboard().getText(), "clipboard content doesn't match"); + $("#myInput").shouldHave(attribute("value", "Hello World")); + $("[onclick='myFunction()']").shouldBe(visible).click(); + clipboard().shouldHave(content("Hello World")); + assertEquals("Hello World", clipboard().getText()); } @Test public void setClipboardContent() { - Selenide.clipboard().setText("John Wick"); - assertEquals("John Wick", Selenide.clipboard().getText(), "clipboard content doesn't match"); + clipboard().setText("John Wick"); + assertEquals("John Wick", clipboard().getText()); + clipboard().shouldHave(content("John Wick")); } @AfterEach