Skip to content

Commit 5c6f515

Browse files
authored
[JAVA-40680] Moving some article links on Github - selenium (#17749)
1 parent 26d20c7 commit 5c6f515

29 files changed

+113
-52
lines changed

testing-modules/selenium-2/README.md

+7-2
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,18 @@
11
### Relevant Articles:
22
- [Running Selenium Scripts with JMeter](https://www.baeldung.com/selenium-jmeter)
3-
- [Fixing Selenium WebDriver Executable Path Error](https://www.baeldung.com/java-selenium-webdriver-path-error)
4-
- [Implicit Wait vs Explicit Wait in Selenium Webdriver](https://www.baeldung.com/selenium-implicit-explicit-wait)
53
- [Switching Between Frames Using Selenium WebDriver in Java](https://www.baeldung.com/java-selenium-change-frames)
4+
- [Uploading File Using Selenium Webdriver in Java](https://www.baeldung.com/java-selenium-upload-file)
5+
- [Using Cookies With Selenium WebDriver in Java](https://www.baeldung.com/java-selenium-webdriver-cookies)
6+
- [StaleElementReferenceException in Selenium](https://www.baeldung.com/selenium-staleelementreferenceexception)
7+
- [Retrieve the Value of an HTML Input in Selenium WebDriver](https://www.baeldung.com/java-selenium-html-input-value)
8+
- [Clicking Elements in Selenium using JavaScript](https://www.baeldung.com/java-selenium-javascript)
9+
- [Guide to Selenium with JUnit / TestNG](http://www.baeldung.com/java-selenium-with-junit-and-testng)
610
- [Finding Element by Attribute in Selenium](https://www.baeldung.com/selenium-find-element-by-attribute)
711
- [Automated Visual Regression Testing Over Scalable Cloud Grid](https://www.baeldung.com/automated-visual-regression-testing)
812
- [How to Handle Alerts and Popups in Selenium](https://www.baeldung.com/java-selenium-handle-alerts-popups)
913
- [Automated Accessibility Testing With Selenium](https://www.baeldung.com/java-selenium-accessibility-testing)
1014

15+
1116
#### Notes:
1217
- to run the live tests for the article *Fixing Selenium WebDriver Executable Path Error*, follow the manual setup described
1318
[Fixing Selenium WebDriver Executable Path Error](https://www.baeldung.com/java-selenium-webdriver-path-error#manual-setup); download the 3
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package com.baeldung.selenium.config;
2+
3+
import java.io.File;
4+
import java.time.Duration;
5+
6+
import org.openqa.selenium.WebDriver;
7+
import org.openqa.selenium.WebElement;
8+
import org.openqa.selenium.firefox.FirefoxDriver;
9+
10+
public class SeleniumConfig {
11+
12+
private WebDriver driver;
13+
14+
public SeleniumConfig() {
15+
driver = new FirefoxDriver();
16+
driver.manage()
17+
.timeouts()
18+
.implicitlyWait(Duration.ofSeconds(5));
19+
}
20+
21+
static {
22+
System.setProperty("webdriver.gecko.driver", findFile("geckodriver.mac"));
23+
}
24+
25+
private static String findFile(String filename) {
26+
String[] paths = { "", "bin/", "target/classes" }; // if you have chromedriver somewhere else on the path, then put it here.
27+
for (String path : paths) {
28+
if (new File(path + filename).exists())
29+
return path + filename;
30+
}
31+
return "";
32+
}
33+
34+
public void close() {
35+
driver.close();
36+
}
37+
38+
public void navigateTo(String url) {
39+
driver.navigate()
40+
.to(url);
41+
}
42+
43+
public void clickElement(WebElement element) {
44+
element.click();
45+
}
46+
47+
public WebDriver getDriver() {
48+
return driver;
49+
}
50+
}

testing-modules/selenium/src/main/java/com/baeldung/selenium/stale/RobustWebDriver.java renamed to testing-modules/selenium-2/src/main/java/com/baeldung/selenium/stale/RobustWebDriver.java

+4-4
Original file line numberDiff line numberDiff line change
@@ -1,13 +1,13 @@
11
package com.baeldung.selenium.stale;
22

3-
import org.openqa.selenium.By;
4-
import org.openqa.selenium.WebDriver;
5-
import org.openqa.selenium.WebElement;
6-
73
import java.util.List;
84
import java.util.Set;
95
import java.util.stream.Collectors;
106

7+
import org.openqa.selenium.By;
8+
import org.openqa.selenium.WebDriver;
9+
import org.openqa.selenium.WebElement;
10+
1111
public class RobustWebDriver implements WebDriver {
1212

1313
private final WebDriver originalWebDriver;

testing-modules/selenium/src/main/java/com/baeldung/selenium/stale/RobustWebElement.java renamed to testing-modules/selenium-2/src/main/java/com/baeldung/selenium/stale/RobustWebElement.java

+6-6
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,11 @@
11
package com.baeldung.selenium.stale;
22

3+
import java.util.List;
4+
import java.util.function.BiConsumer;
5+
import java.util.function.BiFunction;
6+
import java.util.function.Consumer;
7+
import java.util.function.Function;
8+
39
import org.openqa.selenium.By;
410
import org.openqa.selenium.Dimension;
511
import org.openqa.selenium.OutputType;
@@ -9,12 +15,6 @@
915
import org.openqa.selenium.WebDriverException;
1016
import org.openqa.selenium.WebElement;
1117

12-
import java.util.List;
13-
import java.util.function.BiConsumer;
14-
import java.util.function.BiFunction;
15-
import java.util.function.Consumer;
16-
import java.util.function.Function;
17-
1818
public class RobustWebElement implements WebElement {
1919

2020
private WebElement originalElement;

testing-modules/selenium/src/main/java/com/baeldung/selenium/stale/WebElementUtils.java renamed to testing-modules/selenium-2/src/main/java/com/baeldung/selenium/stale/WebElementUtils.java

+2-2
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,12 @@
11
package com.baeldung.selenium.stale;
22

3-
import org.openqa.selenium.WebElement;
4-
53
import java.util.function.BiConsumer;
64
import java.util.function.BiFunction;
75
import java.util.function.Consumer;
86
import java.util.function.Function;
97

8+
import org.openqa.selenium.WebElement;
9+
1010
public class WebElementUtils {
1111

1212
private WebElementUtils(){
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,12 @@
11
package com.baeldung.selenium.clickusingjavascript;
22

3+
import static org.junit.Assert.assertEquals;
4+
import static org.junit.Assert.assertTrue;
5+
6+
import java.io.File;
7+
import java.time.Duration;
8+
import java.time.temporal.ChronoUnit;
9+
310
import org.junit.After;
411
import org.junit.Before;
512
import org.junit.Test;
@@ -11,13 +18,6 @@
1118
import org.openqa.selenium.support.ui.ExpectedConditions;
1219
import org.openqa.selenium.support.ui.WebDriverWait;
1320

14-
import static org.junit.Assert.assertEquals;
15-
import static org.junit.Assert.assertTrue;
16-
17-
import java.io.File;
18-
import java.time.Duration;
19-
import java.time.temporal.ChronoUnit;
20-
2121
public class SeleniumJavaScriptClickLiveTest {
2222

2323
private WebDriver driver;
-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,6 @@
1111
import java.io.File;
1212
import java.time.Duration;
1313
import java.util.Set;
14-
import java.util.concurrent.TimeUnit;
1514

1615
import org.junit.After;
1716
import org.junit.Before;

testing-modules/selenium/src/test/java/com/baeldung/selenium/stale/RobustWebElementLiveTest.java renamed to testing-modules/selenium-2/src/test/java/com/baeldung/selenium/stale/RobustWebElementLiveTest.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.baeldung.selenium.stale;
22

3-
import io.github.bonigarcia.wdm.WebDriverManager;
3+
import java.time.Duration;
4+
45
import org.junit.jupiter.api.AfterEach;
56
import org.junit.jupiter.api.Assertions;
67
import org.junit.jupiter.api.BeforeEach;
@@ -10,7 +11,7 @@
1011
import org.openqa.selenium.chrome.ChromeDriver;
1112
import org.openqa.selenium.chrome.ChromeOptions;
1213

13-
import java.time.Duration;
14+
import io.github.bonigarcia.wdm.WebDriverManager;
1415

1516
final class RobustWebElementLiveTest {
1617

testing-modules/selenium/src/test/java/com/baeldung/selenium/stale/StaleElementReferenceLiveTest.java renamed to testing-modules/selenium-2/src/test/java/com/baeldung/selenium/stale/StaleElementReferenceLiveTest.java

+3-2
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.baeldung.selenium.stale;
22

3-
import io.github.bonigarcia.wdm.WebDriverManager;
3+
import java.time.Duration;
4+
45
import org.junit.jupiter.api.AfterEach;
56
import org.junit.jupiter.api.Assertions;
67
import org.junit.jupiter.api.BeforeEach;
@@ -12,7 +13,7 @@
1213
import org.openqa.selenium.chrome.ChromeDriver;
1314
import org.openqa.selenium.chrome.ChromeOptions;
1415

15-
import java.time.Duration;
16+
import io.github.bonigarcia.wdm.WebDriverManager;
1617

1718
final class StaleElementReferenceLiveTest {
1819

testing-modules/selenium/src/test/java/com/baeldung/selenium/webdriver/SeleniumWebDriverLiveTest.java renamed to testing-modules/selenium-2/src/test/java/com/baeldung/selenium/webdriver/SeleniumWebDriverLiveTest.java

+3-1
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.baeldung.selenium.webdriver;
22

3-
import static org.junit.jupiter.api.Assertions.*;
3+
import static org.junit.jupiter.api.Assertions.assertEquals;
4+
45
import org.junit.jupiter.api.AfterEach;
56
import org.junit.jupiter.api.BeforeEach;
67
import org.junit.jupiter.api.Test;
@@ -9,6 +10,7 @@
910
import org.openqa.selenium.WebDriver;
1011
import org.openqa.selenium.WebElement;
1112
import org.openqa.selenium.chrome.ChromeDriver;
13+
1214
import io.github.bonigarcia.wdm.WebDriverManager;
1315

1416
public class SeleniumWebDriverLiveTest {
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
package com.baeldung.selenium.webdriver.fileupload;
22

3-
import static org.junit.jupiter.api.Assertions.*;
3+
import static org.junit.jupiter.api.Assertions.assertTrue;
4+
45
import org.junit.jupiter.api.AfterEach;
56
import org.junit.jupiter.api.BeforeEach;
67
import org.junit.jupiter.api.Test;

testing-modules/selenium/README.md

+4-6
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,12 @@
11
### Relevant Articles:
22

3-
- [Guide to Selenium with JUnit / TestNG](http://www.baeldung.com/java-selenium-with-junit-and-testng)
4-
- [Clicking Elements in Selenium using JavaScript](https://www.baeldung.com/java-selenium-javascript)
5-
- [Retrieve the Value of an HTML Input in Selenium WebDriver](https://www.baeldung.com/java-selenium-html-input-value)
63
- [Testing with Selenium/WebDriver and the Page Object Pattern](http://www.baeldung.com/selenium-webdriver-page-object)
7-
- [Using Cookies With Selenium WebDriver in Java](https://www.baeldung.com/java-selenium-webdriver-cookies)
84
- [Taking Screenshots With Selenium WebDriver](https://www.baeldung.com/java-selenium-screenshots)
9-
- [Uploading File Using Selenium Webdriver in Java](https://www.baeldung.com/java-selenium-upload-file)
10-
- [StaleElementReferenceException in Selenium](https://www.baeldung.com/selenium-staleelementreferenceexception)
115
- [How to Select Value From Dropdown Using Selenium Webdriver](https://www.baeldung.com/java-selenium-select-dropdown-value)
6+
- [Fixing Selenium WebDriver Executable Path Error](https://www.baeldung.com/java-selenium-webdriver-path-error)
7+
- [Implicit Wait vs Explicit Wait in Selenium Webdriver](https://www.baeldung.com/selenium-implicit-explicit-wait)
8+
- [Automated Visual Regression Testing Over Scalable Cloud Grid](https://www.baeldung.com/automated-visual-regression-testing)
9+
- [Finding Element by Attribute in Selenium](https://www.baeldung.com/selenium-find-element-by-attribute)
1210

1311

1412
#### Notes:

testing-modules/selenium/pom.xml

+5
Original file line numberDiff line numberDiff line change
@@ -35,6 +35,11 @@
3535
<artifactId>webdrivermanager</artifactId>
3636
<version>${webdrivermanager.version}</version>
3737
</dependency>
38+
<dependency>
39+
<groupId>org.testng</groupId>
40+
<artifactId>testng</artifactId>
41+
<version>${testng.version}</version>
42+
</dependency>
3843
</dependencies>
3944

4045
<build>

testing-modules/selenium/src/main/java/com/baeldung/selenium/config/SeleniumConfig.java

-1
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,6 @@
22

33
import java.io.File;
44
import java.time.Duration;
5-
import java.util.concurrent.TimeUnit;
65

76
import org.openqa.selenium.WebDriver;
87
import org.openqa.selenium.WebElement;
+5-6
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,17 @@
11
package com.baeldung.selenium.visualregression;
22

3-
import org.openqa.selenium.PageLoadStrategy;
4-
import org.openqa.selenium.WebDriver;
5-
import org.openqa.selenium.chrome.ChromeOptions;
6-
import org.openqa.selenium.remote.RemoteWebDriver;
3+
import static java.text.MessageFormat.format;
74

85
import java.net.MalformedURLException;
96
import java.net.URI;
107
import java.net.URISyntaxException;
11-
import java.net.URL;
128
import java.time.Duration;
139
import java.util.HashMap;
1410

15-
import static java.text.MessageFormat.format;
11+
import org.openqa.selenium.PageLoadStrategy;
12+
import org.openqa.selenium.WebDriver;
13+
import org.openqa.selenium.chrome.ChromeOptions;
14+
import org.openqa.selenium.remote.RemoteWebDriver;
1615

1716
public class DriverManager {
1817
private WebDriver driver;
+5-5
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,10 @@
11
package com.baeldung.selenium.find;
22

3+
import static org.testng.Assert.assertTrue;
4+
5+
import java.time.Duration;
6+
import java.util.List;
7+
38
import org.junit.jupiter.api.AfterEach;
49
import org.junit.jupiter.api.BeforeEach;
510
import org.junit.jupiter.api.Test;
@@ -11,11 +16,6 @@
1116
import org.openqa.selenium.support.ui.ExpectedConditions;
1217
import org.openqa.selenium.support.ui.WebDriverWait;
1318

14-
import java.time.Duration;
15-
import java.util.List;
16-
17-
import static org.testng.Assert.assertTrue;
18-
1919
class CheckIfElementPresentManualTest {
2020

2121
private WebDriver driver;
+2-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,7 @@
11
package com.baeldung.selenium.find;
22

3+
import java.time.Duration;
4+
35
import org.openqa.selenium.By;
46
import org.openqa.selenium.WebDriver;
57
import org.openqa.selenium.chrome.ChromeDriver;
@@ -9,8 +11,6 @@
911
import org.testng.annotations.BeforeClass;
1012
import org.testng.annotations.Test;
1113

12-
import java.time.Duration;
13-
1414
public class FindElementByAttributeManualTest {
1515

1616
private WebDriver driver;
+2-2
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
11
package com.baeldung.selenium.visualregression.pages;
22

3+
import java.text.MessageFormat;
4+
35
import org.openqa.selenium.JavascriptExecutor;
46
import org.openqa.selenium.WebDriver;
57

6-
import java.text.MessageFormat;
7-
88
public class CameraProductPage {
99
private static String SCREEN_NAME = "Camera-Product-Page";
1010
private WebDriver driver;
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,12 @@
11
package com.baeldung.selenium.visualregression.tests;
22

3-
import com.baeldung.selenium.visualregression.DriverManager;
4-
import com.baeldung.selenium.visualregression.pages.CameraProductPage;
53
import org.testng.annotations.AfterClass;
64
import org.testng.annotations.BeforeClass;
75
import org.testng.annotations.Test;
86

7+
import com.baeldung.selenium.visualregression.DriverManager;
8+
import com.baeldung.selenium.visualregression.pages.CameraProductPage;
9+
910
public class SeleniumVisualRegressionLiveTest {
1011

1112
private DriverManager driverManager;

0 commit comments

Comments
 (0)