diff --git a/selenium-junit-testng/pom.xml b/selenium-junit-testng/pom.xml
index bf5a082fba..861c0b1986 100644
--- a/selenium-junit-testng/pom.xml
+++ b/selenium-junit-testng/pom.xml
@@ -20,14 +20,35 @@
maven-surefire-plugin
2.19.1
-
+ true
- Test*.java
+ **/*UnitTest.java
+
+
+
+ live
+
+
+
+ org.apache.maven.plugins
+ maven-surefire-plugin
+ 2.19.1
+
+
+ **/*LiveTest.java
+
+
+
+
+
+
+
+
org.seleniumhq.selenium
@@ -37,12 +58,12 @@
junit
junit
- 4.8.1
+ 4.12
org.testng
testng
- 6.9.10
+ 6.9.13.6
\ No newline at end of file
diff --git a/selenium-junit-testng/src/main/java/com/baeldung/selenium/SeleniumExample.java b/selenium-junit-testng/src/main/java/com/baeldung/selenium/SeleniumExample.java
index d8b248df81..1007bf7503 100644
--- a/selenium-junit-testng/src/main/java/com/baeldung/selenium/SeleniumExample.java
+++ b/selenium-junit-testng/src/main/java/com/baeldung/selenium/SeleniumExample.java
@@ -1,15 +1,22 @@
package main.java.com.baeldung.selenium;
+import java.util.List;
+import java.util.concurrent.TimeUnit;
+
+import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
+import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;
public class SeleniumExample {
private WebDriver webDriver;
private String url = "http://www.baeldung.com/";
-
+
public SeleniumExample() {
webDriver = new FirefoxDriver();
+ webDriver.manage().window().maximize();
+ webDriver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
webDriver.get(url);
}
@@ -21,4 +28,30 @@ public class SeleniumExample {
return webDriver.getTitle();
}
+ public void getAboutBaeldungPage() {
+ closeOverlay();
+ clickAboutLink();
+ clickAboutUsLink();
+ }
+
+ private void closeOverlay() {
+ List webElementList = webDriver.findElements(By.tagName("a"));
+ if (webElementList != null && !webElementList.isEmpty()) {
+ webElementList.stream().filter(webElement -> "Close".equalsIgnoreCase(webElement.getAttribute("title"))).findAny().get().click();
+ }
+ }
+
+ private void clickAboutLink() {
+ webDriver.findElement(By.partialLinkText("About")).click();
+ }
+
+ private void clickAboutUsLink() {
+ webDriver.findElement(By.partialLinkText("About Baeldung.")).click();
+ }
+
+ public boolean isAuthorInformationAvailable() {
+ return webDriver
+ .findElement(By.xpath("//*[contains(text(), 'Eugen – an engineer')]"))
+ .isDisplayed();
+ }
}
diff --git a/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumWithJUnitLiveTest.java b/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumWithJUnitLiveTest.java
new file mode 100644
index 0000000000..f8d9a5dada
--- /dev/null
+++ b/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/SeleniumWithJUnitLiveTest.java
@@ -0,0 +1,41 @@
+package test.java.com.baeldung.selenium.junit;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+import main.java.com.baeldung.selenium.SeleniumExample;
+
+import org.junit.AfterClass;
+import org.junit.BeforeClass;
+import org.junit.Test;
+
+public class SeleniumWithJUnitLiveTest {
+
+ private static SeleniumExample seleniumExample;
+ private String expecteTilteAboutBaeldungPage = "About Baeldung | Baeldung";
+
+ @BeforeClass
+ public static void setUp() {
+ seleniumExample = new SeleniumExample();
+ }
+
+ @AfterClass
+ public static void tearDown() {
+ seleniumExample.closeWindow();
+ }
+
+ @Test
+ public void whenAboutBaeldungIsLoaded_thenAboutEugenIsMentionedOnPage() {
+ try {
+ seleniumExample.getAboutBaeldungPage();
+ String actualTitle = seleniumExample.getTitle();
+ assertNotNull(actualTitle);
+ assertEquals(actualTitle, expecteTilteAboutBaeldungPage);
+ assertTrue(seleniumExample.isAuthorInformationAvailable());
+ } catch (Exception exception) {
+ exception.printStackTrace();
+ seleniumExample.closeWindow();
+ }
+ }
+
+}
diff --git a/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/TestSeleniumWithJUnit.java b/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/TestSeleniumWithJUnit.java
deleted file mode 100644
index f183a613e7..0000000000
--- a/selenium-junit-testng/src/test/java/com/baeldung/selenium/junit/TestSeleniumWithJUnit.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package test.java.com.baeldung.selenium.junit;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import main.java.com.baeldung.selenium.SeleniumExample;
-
-import org.junit.After;
-import org.junit.Before;
-import org.junit.Test;
-
-public class TestSeleniumWithJUnit {
-
- private SeleniumExample seleniumExample;
- private String expectedTitle = "Baeldung | Java, Spring and Web Development tutorials";
-
- @Before
- public void setUp() {
- seleniumExample = new SeleniumExample();
- }
-
- @After
- public void tearDown() {
- seleniumExample.closeWindow();
- }
-
- @Test
- public void whenPageIsLoaded_thenTitleIsAsPerExpectation() {
- String actualTitle = seleniumExample.getTitle();
- assertNotNull(actualTitle);
- assertEquals(actualTitle, expectedTitle);
- }
-}
diff --git a/selenium-junit-testng/src/test/java/com/baeldung/selenium/testng/SeleniumWithTestNGLiveTest.java b/selenium-junit-testng/src/test/java/com/baeldung/selenium/testng/SeleniumWithTestNGLiveTest.java
new file mode 100644
index 0000000000..5ec9ade39f
--- /dev/null
+++ b/selenium-junit-testng/src/test/java/com/baeldung/selenium/testng/SeleniumWithTestNGLiveTest.java
@@ -0,0 +1,40 @@
+package test.java.com.baeldung.selenium.testng;
+
+import static org.testng.Assert.assertEquals;
+import static org.testng.Assert.assertNotNull;
+import static org.testng.Assert.assertTrue;
+import main.java.com.baeldung.selenium.SeleniumExample;
+
+import org.testng.annotations.AfterSuite;
+import org.testng.annotations.BeforeSuite;
+import org.testng.annotations.Test;
+
+public class SeleniumWithTestNGLiveTest {
+
+ private SeleniumExample seleniumExample;
+ private String expecteTilteAboutBaeldungPage = "About Baeldung | Baeldung";
+
+ @BeforeSuite
+ public void setUp() {
+ seleniumExample = new SeleniumExample();
+ }
+
+ @AfterSuite
+ public void tearDown() {
+ seleniumExample.closeWindow();
+ }
+
+ @Test
+ public void whenAboutBaeldungIsLoaded_thenAboutEugenIsMentionedOnPage() {
+ try {
+ seleniumExample.getAboutBaeldungPage();
+ String actualTitle = seleniumExample.getTitle();
+ assertNotNull(actualTitle);
+ assertEquals(actualTitle, expecteTilteAboutBaeldungPage);
+ assertTrue(seleniumExample.isAuthorInformationAvailable());
+ } catch (Exception exception) {
+ exception.printStackTrace();
+ seleniumExample.closeWindow();
+ }
+ }
+}
diff --git a/selenium-junit-testng/src/test/java/com/baeldung/selenium/testng/TestSeleniumWithTestNG.java b/selenium-junit-testng/src/test/java/com/baeldung/selenium/testng/TestSeleniumWithTestNG.java
deleted file mode 100644
index 3c94f3d440..0000000000
--- a/selenium-junit-testng/src/test/java/com/baeldung/selenium/testng/TestSeleniumWithTestNG.java
+++ /dev/null
@@ -1,32 +0,0 @@
-package test.java.com.baeldung.selenium.testng;
-
-import static org.testng.Assert.assertEquals;
-import static org.testng.Assert.assertNotNull;
-import main.java.com.baeldung.selenium.SeleniumExample;
-
-import org.testng.annotations.AfterSuite;
-import org.testng.annotations.BeforeSuite;
-import org.testng.annotations.Test;
-
-public class TestSeleniumWithTestNG {
-
- private SeleniumExample seleniumExample;
- private String expectedTitle = "Baeldung | Java, Spring and Web Development tutorials";
-
- @BeforeSuite
- public void setUp() {
- seleniumExample = new SeleniumExample();
- }
-
- @AfterSuite
- public void tearDown() {
- seleniumExample.closeWindow();
- }
-
- @Test
- public void whenPageIsLoaded_thenTitleIsAsPerExpectation() {
- String actualTitle = seleniumExample.getTitle();
- assertNotNull(actualTitle);
- assertEquals(actualTitle, expectedTitle);
- }
-}