diff --git a/testing-modules/pom.xml b/testing-modules/pom.xml
index 80e0c3bc29..8fb7a93a02 100644
--- a/testing-modules/pom.xml
+++ b/testing-modules/pom.xml
@@ -40,6 +40,7 @@
rest-assured
rest-testing
selenium-junit-testng
+ selenium-webdriver
spring-mockito
spring-testing-2
spring-testing
diff --git a/testing-modules/selenium-webdriver/1688web.png b/testing-modules/selenium-webdriver/1688web.png
new file mode 100644
index 0000000000..92ae7921fb
Binary files /dev/null and b/testing-modules/selenium-webdriver/1688web.png differ
diff --git a/testing-modules/selenium-webdriver/README.md b/testing-modules/selenium-webdriver/README.md
new file mode 100644
index 0000000000..7d843af9ea
--- /dev/null
+++ b/testing-modules/selenium-webdriver/README.md
@@ -0,0 +1 @@
+### Relevant Articles:
diff --git a/testing-modules/selenium-webdriver/pom.xml b/testing-modules/selenium-webdriver/pom.xml
new file mode 100644
index 0000000000..4eac847709
--- /dev/null
+++ b/testing-modules/selenium-webdriver/pom.xml
@@ -0,0 +1,59 @@
+
+
+ 4.0.0
+ selenium-webdriver
+ 0.0.1-SNAPSHOT
+ selenium-webdriver
+
+
+ com.baeldung
+ testing-modules
+ 1.0.0-SNAPSHOT
+
+
+
+
+ org.seleniumhq.selenium
+ selenium-java
+ ${selenium-java.version}
+
+
+ commons-logging
+ commons-logging
+
+
+
+
+ org.testng
+ testng
+ ${testng.version}
+
+
+ io.github.bonigarcia
+ webdrivermanager
+ ${webdrivermanager.version}
+
+
+
+
+
+
+ src/main/resources
+ true
+
+
+ src/test/resources
+ true
+
+
+
+
+
+ 6.10
+ 4.8.3
+ 5.3.2
+
+
+
\ No newline at end of file
diff --git a/testing-modules/selenium-webdriver/src/test/java/com/baeldung/selenium/webdriver/fileupload/FileUploadWebDriverUnitTest.java b/testing-modules/selenium-webdriver/src/test/java/com/baeldung/selenium/webdriver/fileupload/FileUploadWebDriverUnitTest.java
new file mode 100644
index 0000000000..18853ede56
--- /dev/null
+++ b/testing-modules/selenium-webdriver/src/test/java/com/baeldung/selenium/webdriver/fileupload/FileUploadWebDriverUnitTest.java
@@ -0,0 +1,53 @@
+package com.baeldung.selenium.webdriver.fileupload;
+
+import org.junit.Assert;
+import org.junit.jupiter.api.AfterEach;
+import org.junit.jupiter.api.BeforeEach;
+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.firefox.FirefoxDriver;
+
+import io.github.bonigarcia.wdm.WebDriverManager;
+
+public class FileUploadWebDriverUnitTest {
+
+ private WebDriver driver;
+
+ private static final String URL = "http://www.csm-testcenter.org/test?do=show&subdo=common&test=file_upload";
+ private static final String INPUT_NAME = "file_upload";
+
+ @BeforeEach
+ public void setUp() {
+ WebDriverManager.firefoxdriver()
+ .setup();
+ driver = new FirefoxDriver();
+ }
+
+ @AfterEach
+ public void tearDown() {
+ driver.quit();
+ }
+
+ @Test
+ public void givenFileUploadPage_whenInputFilePath_thenFileUploadEndsWithFilename() {
+ driver.get(URL);
+
+ String filePath = System.getProperty("user.dir") + "/1688web.png";
+ WebElement inputElement = driver.findElement(By.name(INPUT_NAME));
+ WebElement submitButton = driver.findElement(By.name("http_submit"));
+
+ inputElement.sendKeys(filePath);
+
+ String actualFilePath = inputElement.getAttribute("value");
+ String fileName = filePath.substring(filePath.lastIndexOf("/") + 1);
+
+ submitButton.click();
+
+ Assert.assertTrue(actualFilePath.endsWith(fileName));
+ }
+
+}
\ No newline at end of file