From e29903d87bdbf080ace5ea5ea7706c2ccbf97f19 Mon Sep 17 00:00:00 2001 From: "Yury.Chychayeu" Date: Thu, 18 Jan 2024 14:30:29 +0100 Subject: [PATCH 1/2] better base --- pom.xml | 18 ++++++++++--- .../java/web_driver/WebDriverFactory.java | 27 +++++++++++++++++++ src/test/java/utils/BaseTest.java | 22 +++++++++++++++ 3 files changed, 64 insertions(+), 3 deletions(-) create mode 100644 src/main/java/web_driver/WebDriverFactory.java create mode 100644 src/test/java/utils/BaseTest.java diff --git a/pom.xml b/pom.xml index 54175bd..cf0a75b 100644 --- a/pom.xml +++ b/pom.xml @@ -16,9 +16,21 @@ - junit - junit - 3.8.1 + org.seleniumhq.selenium + selenium-java + 4.10.0 + + + + io.github.bonigarcia + webdrivermanager + 5.4.0 + + + + org.testng + testng + 7.8.0 test diff --git a/src/main/java/web_driver/WebDriverFactory.java b/src/main/java/web_driver/WebDriverFactory.java new file mode 100644 index 0000000..b1efff3 --- /dev/null +++ b/src/main/java/web_driver/WebDriverFactory.java @@ -0,0 +1,27 @@ +package web_driver; + +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.edge.EdgeDriver; +import org.openqa.selenium.edge.EdgeOptions; + +public class WebDriverFactory { + + public WebDriver getDriver(){ + System.setProperty("webdriver.edge.driver", "src/main/resources/msedgedriver.exe"); + return new EdgeDriver(edgeOptions()); + } + + public EdgeOptions edgeOptions(){ + EdgeOptions edgeOptions = new EdgeOptions(); + + edgeOptions.setHeadless(true); + edgeOptions.addArguments("--disable-gpu"); + edgeOptions.addArguments("--window-size=1920,1200"); + edgeOptions.addArguments("--ignore-certificate-errors"); + edgeOptions.addArguments("--silent"); + edgeOptions.addArguments("--start-maximized"); + + return edgeOptions; + } + +} \ No newline at end of file diff --git a/src/test/java/utils/BaseTest.java b/src/test/java/utils/BaseTest.java new file mode 100644 index 0000000..50e49d7 --- /dev/null +++ b/src/test/java/utils/BaseTest.java @@ -0,0 +1,22 @@ +package utils; + +import org.openqa.selenium.WebDriver; +import org.testng.annotations.AfterSuite; +import org.testng.annotations.BeforeMethod; +import web_driver.WebDriverFactory; + +public class BaseTest { + + protected static WebDriver driver; + + @BeforeMethod + public void setUp(){ + WebDriverFactory factory = new WebDriverFactory(); + driver = factory.getDriver(); + } + + @AfterSuite + public void wrapUp(){ + driver.quit(); + } +} From b8b24087394fb28b4cc21ec689028b5ba898e5c5 Mon Sep 17 00:00:00 2001 From: "Yury.Chychayeu" Date: Fri, 15 Mar 2024 09:52:39 +0100 Subject: [PATCH 2/2] selenoid --- pom.xml | 6 ++++ src/main/java/SelenoidDriverProvider.java | 33 +++++++++++++++++++ .../java/web_driver/WebDriverFactory.java | 27 --------------- src/test/java/test/FirstTest.java | 18 ++++++++++ src/test/java/utils/BaseTest.java | 16 ++++----- 5 files changed, 64 insertions(+), 36 deletions(-) create mode 100644 src/main/java/SelenoidDriverProvider.java delete mode 100644 src/main/java/web_driver/WebDriverFactory.java create mode 100644 src/test/java/test/FirstTest.java diff --git a/pom.xml b/pom.xml index cf0a75b..ec5727b 100644 --- a/pom.xml +++ b/pom.xml @@ -33,5 +33,11 @@ 7.8.0 test + + + com.codeborne + selenide + 7.2.1 + diff --git a/src/main/java/SelenoidDriverProvider.java b/src/main/java/SelenoidDriverProvider.java new file mode 100644 index 0000000..82a6fc0 --- /dev/null +++ b/src/main/java/SelenoidDriverProvider.java @@ -0,0 +1,33 @@ +import com.codeborne.selenide.WebDriverProvider; +import org.openqa.selenium.Capabilities; +import org.openqa.selenium.Platform; +import org.openqa.selenium.WebDriver; +import org.openqa.selenium.remote.DesiredCapabilities; +import org.openqa.selenium.remote.RemoteWebDriver; + +import java.net.MalformedURLException; +import java.net.URI; + +public class SelenoidDriverProvider implements WebDriverProvider { + + + @Override + public WebDriver createDriver(Capabilities desiredCapabilities) { + DesiredCapabilities capabilities = new DesiredCapabilities(); + capabilities.setBrowserName("chrome"); + capabilities.setVersion("121.0"); + capabilities.setPlatform(Platform.LINUX); + //capabilities.setCapability("enableVNC", true); +// browser.setCapability("screenResolution", "680x124x24"); // размер экрана + + try { + RemoteWebDriver driver = new RemoteWebDriver( + URI.create("http://127.0.0.1:4444/wd/hub").toURL(), + capabilities); + return driver; + } catch (MalformedURLException e) { + throw new RuntimeException(e); + } + } +} + diff --git a/src/main/java/web_driver/WebDriverFactory.java b/src/main/java/web_driver/WebDriverFactory.java deleted file mode 100644 index b1efff3..0000000 --- a/src/main/java/web_driver/WebDriverFactory.java +++ /dev/null @@ -1,27 +0,0 @@ -package web_driver; - -import org.openqa.selenium.WebDriver; -import org.openqa.selenium.edge.EdgeDriver; -import org.openqa.selenium.edge.EdgeOptions; - -public class WebDriverFactory { - - public WebDriver getDriver(){ - System.setProperty("webdriver.edge.driver", "src/main/resources/msedgedriver.exe"); - return new EdgeDriver(edgeOptions()); - } - - public EdgeOptions edgeOptions(){ - EdgeOptions edgeOptions = new EdgeOptions(); - - edgeOptions.setHeadless(true); - edgeOptions.addArguments("--disable-gpu"); - edgeOptions.addArguments("--window-size=1920,1200"); - edgeOptions.addArguments("--ignore-certificate-errors"); - edgeOptions.addArguments("--silent"); - edgeOptions.addArguments("--start-maximized"); - - return edgeOptions; - } - -} \ No newline at end of file diff --git a/src/test/java/test/FirstTest.java b/src/test/java/test/FirstTest.java new file mode 100644 index 0000000..368d40c --- /dev/null +++ b/src/test/java/test/FirstTest.java @@ -0,0 +1,18 @@ +package test; + +import com.codeborne.selenide.*; +import org.testng.Assert; +import org.testng.annotations.Test; +import utils.BaseTest; + +import static com.codeborne.selenide.Selenide.$; +import static com.codeborne.selenide.Selenide.$x; + +public class FirstTest extends BaseTest { + + @Test + public void smokeTest() throws InterruptedException { + Selenide.open("https://www.google.com/"); + Assert.assertTrue($x("//div[@class ='SDkEP']").isDisplayed()); + } +} diff --git a/src/test/java/utils/BaseTest.java b/src/test/java/utils/BaseTest.java index 50e49d7..5598cdf 100644 --- a/src/test/java/utils/BaseTest.java +++ b/src/test/java/utils/BaseTest.java @@ -1,22 +1,20 @@ package utils; +import com.codeborne.selenide.Configuration; import org.openqa.selenium.WebDriver; -import org.testng.annotations.AfterSuite; import org.testng.annotations.BeforeMethod; -import web_driver.WebDriverFactory; +import org.testng.annotations.BeforeSuite; public class BaseTest { protected static WebDriver driver; - @BeforeMethod + @BeforeSuite public void setUp(){ - WebDriverFactory factory = new WebDriverFactory(); - driver = factory.getDriver(); + Configuration.baseUrl = "https://google.com/"; + Configuration.browser = "SelenoidDriverProvider"; + Configuration.timeout = 10000; + Configuration.browserSize = "1600x1400"; } - @AfterSuite - public void wrapUp(){ - driver.quit(); - } }