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