Selenium error (#12924)
* BAEL-5010 added manual and automated selenium setup tests * BAEL-5010 added manual and automated selenium setup tests Co-authored-by: aschoeng <andreas.schoengruber@mic-cust.com>
This commit is contained in:
parent
d0c3a7dfd6
commit
50f2c39544
|
@ -35,6 +35,11 @@
|
||||||
<artifactId>ashot</artifactId>
|
<artifactId>ashot</artifactId>
|
||||||
<version>${ashot.version}</version>
|
<version>${ashot.version}</version>
|
||||||
</dependency>
|
</dependency>
|
||||||
|
<dependency>
|
||||||
|
<groupId>io.github.bonigarcia</groupId>
|
||||||
|
<artifactId>webdrivermanager</artifactId>
|
||||||
|
<version>${webdrivermanager.version}</version>
|
||||||
|
</dependency>
|
||||||
</dependencies>
|
</dependencies>
|
||||||
|
|
||||||
<build>
|
<build>
|
||||||
|
@ -52,8 +57,9 @@
|
||||||
|
|
||||||
<properties>
|
<properties>
|
||||||
<testng.version>6.10</testng.version>
|
<testng.version>6.10</testng.version>
|
||||||
<selenium-java.version>3.4.0</selenium-java.version>
|
<selenium-java.version>3.141.59</selenium-java.version>
|
||||||
<ashot.version>1.5.4</ashot.version>
|
<ashot.version>1.5.4</ashot.version>
|
||||||
|
<webdrivermanager.version>5.3.0</webdrivermanager.version>
|
||||||
</properties>
|
</properties>
|
||||||
|
|
||||||
</project>
|
</project>
|
|
@ -0,0 +1,83 @@
|
||||||
|
package com.baeldung.selenium.setup;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.AfterEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.openqa.selenium.By;
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
import org.openqa.selenium.WebElement;
|
||||||
|
import org.openqa.selenium.chrome.ChromeDriver;
|
||||||
|
import org.openqa.selenium.edge.EdgeDriver;
|
||||||
|
import org.openqa.selenium.firefox.FirefoxDriver;
|
||||||
|
|
||||||
|
import io.github.bonigarcia.wdm.WebDriverManager;
|
||||||
|
|
||||||
|
final class AutomatedSetupLiveTest {
|
||||||
|
|
||||||
|
private static final String TITLE_XPATH = "//a[@href='/']";
|
||||||
|
private static final String URL = "https://www.baeldung.com";
|
||||||
|
|
||||||
|
private WebDriver driver;
|
||||||
|
|
||||||
|
private void setupChromeDriver() {
|
||||||
|
WebDriverManager.chromedriver()
|
||||||
|
.setup();
|
||||||
|
driver = new ChromeDriver();
|
||||||
|
options();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setupGeckoDriver() {
|
||||||
|
WebDriverManager.firefoxdriver()
|
||||||
|
.setup();
|
||||||
|
driver = new FirefoxDriver();
|
||||||
|
options();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setupEdgeDriver() {
|
||||||
|
WebDriverManager.edgedriver()
|
||||||
|
.setup();
|
||||||
|
driver = new EdgeDriver();
|
||||||
|
options();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void options() {
|
||||||
|
driver.manage()
|
||||||
|
.window()
|
||||||
|
.maximize();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenChromeDriver_whenNavigateToBaeldung_thenFindTitleIsSuccessful() {
|
||||||
|
setupChromeDriver();
|
||||||
|
driver.get(URL);
|
||||||
|
final WebElement title = driver.findElement(By.xpath(TITLE_XPATH));
|
||||||
|
|
||||||
|
assertEquals("Baeldung", title.getAttribute("title"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenGeckoDriver_whenNavigateToBaeldung_thenFindTitleIsSuccessful() {
|
||||||
|
setupGeckoDriver();
|
||||||
|
driver.get(URL);
|
||||||
|
final WebElement title = driver.findElement(By.xpath(TITLE_XPATH));
|
||||||
|
|
||||||
|
assertEquals("Baeldung", title.getAttribute("title"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenEdgeDriver_whenNavigateToBaeldung_thenFindTitleIsSuccessful() {
|
||||||
|
setupEdgeDriver();
|
||||||
|
driver.get(URL);
|
||||||
|
final WebElement title = driver.findElement(By.xpath(TITLE_XPATH));
|
||||||
|
|
||||||
|
assertEquals("Baeldung", title.getAttribute("title"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@AfterEach
|
||||||
|
void teardown() {
|
||||||
|
if (driver != null) {
|
||||||
|
driver.quit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,35 @@
|
||||||
|
package com.baeldung.selenium.setup;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertThrowsExactly;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.BeforeAll;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.openqa.selenium.chrome.ChromeDriver;
|
||||||
|
import org.openqa.selenium.edge.EdgeDriver;
|
||||||
|
import org.openqa.selenium.firefox.FirefoxDriver;
|
||||||
|
|
||||||
|
final class InvalidSetupLiveTest {
|
||||||
|
|
||||||
|
@BeforeAll
|
||||||
|
static void setup() {
|
||||||
|
// Make sure the properties are cleared before the tests.
|
||||||
|
System.clearProperty("webdriver.chrome.driver");
|
||||||
|
System.clearProperty("webdriver.gecko.driver");
|
||||||
|
System.clearProperty("webdriver.edge.driver");
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenInvalidChromeSetup_whenInit_thenFail() {
|
||||||
|
assertThrowsExactly(IllegalStateException.class, ChromeDriver::new);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenInvalidFirefoxSetup_whenInit_thenFail() {
|
||||||
|
assertThrowsExactly(IllegalStateException.class, FirefoxDriver::new);
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenInvalidEdgeSetup_whenInit_thenFail() {
|
||||||
|
assertThrowsExactly(IllegalStateException.class, EdgeDriver::new);
|
||||||
|
}
|
||||||
|
}
|
|
@ -0,0 +1,78 @@
|
||||||
|
package com.baeldung.selenium.setup;
|
||||||
|
|
||||||
|
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||||
|
|
||||||
|
import org.junit.jupiter.api.AfterEach;
|
||||||
|
import org.junit.jupiter.api.Test;
|
||||||
|
import org.openqa.selenium.By;
|
||||||
|
import org.openqa.selenium.WebDriver;
|
||||||
|
import org.openqa.selenium.WebElement;
|
||||||
|
import org.openqa.selenium.chrome.ChromeDriver;
|
||||||
|
import org.openqa.selenium.edge.EdgeDriver;
|
||||||
|
import org.openqa.selenium.firefox.FirefoxDriver;
|
||||||
|
|
||||||
|
final class ManualSetupLiveTest {
|
||||||
|
|
||||||
|
private static final String TITLE_XPATH = "//a[@href='/']";
|
||||||
|
private static final String URL = "https://www.baeldung.com";
|
||||||
|
|
||||||
|
private WebDriver driver;
|
||||||
|
|
||||||
|
private void setupChromeDriver() {
|
||||||
|
System.setProperty("webdriver.chrome.driver", "src/test/resources/chromedriver.exe");
|
||||||
|
driver = new ChromeDriver();
|
||||||
|
options();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setupGeckoDriver() {
|
||||||
|
System.setProperty("webdriver.gecko.driver", "src/test/resources/geckodriver.exe");
|
||||||
|
driver = new FirefoxDriver();
|
||||||
|
options();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void setupEdgeDriver() {
|
||||||
|
System.setProperty("webdriver.edge.driver", "src/test/resources/msedgedriver.exe");
|
||||||
|
driver = new EdgeDriver();
|
||||||
|
options();
|
||||||
|
}
|
||||||
|
|
||||||
|
private void options() {
|
||||||
|
driver.manage()
|
||||||
|
.window()
|
||||||
|
.maximize();
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenChromeDriver_whenNavigateToBaeldung_thenFindTitleIsSuccessful() {
|
||||||
|
setupChromeDriver();
|
||||||
|
driver.get(URL);
|
||||||
|
final WebElement title = driver.findElement(By.xpath(TITLE_XPATH));
|
||||||
|
|
||||||
|
assertEquals("Baeldung", title.getAttribute("title"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenEdgeDriver_whenNavigateToBaeldung_thenFindTitleIsSuccessful() {
|
||||||
|
setupEdgeDriver();
|
||||||
|
driver.get(URL);
|
||||||
|
final WebElement title = driver.findElement(By.xpath(TITLE_XPATH));
|
||||||
|
|
||||||
|
assertEquals("Baeldung", title.getAttribute("title"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
void givenGeckoDriver_whenNavigateToBaeldung_thenFindTitleIsSuccessful() {
|
||||||
|
setupGeckoDriver();
|
||||||
|
driver.get(URL);
|
||||||
|
final WebElement title = driver.findElement(By.xpath(TITLE_XPATH));
|
||||||
|
|
||||||
|
assertEquals("Baeldung", title.getAttribute("title"));
|
||||||
|
}
|
||||||
|
|
||||||
|
@AfterEach
|
||||||
|
void teardown() {
|
||||||
|
if (driver != null) {
|
||||||
|
driver.quit();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
Loading…
Reference in New Issue