Skip to content

Artenes/SeleniumTestSuite

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

8 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Selenium UI Automation Test Suite

This project demonstrates a comprehensive Selenium-based test automation suite written in Java using JUnit 5 and the Page Object Model (POM) design pattern. It is designed as a portfolio project to showcase testing best practices and covers multiple real-world scenarios using The Internet Herokuapp.

πŸ§ͺ Tested Features

  • βœ… Login functionality (valid and invalid credentials)
  • β˜‘οΈ Checkbox interactions
  • πŸ”½ Dropdown menu selection
  • πŸ“ File upload feature
  • ⚠️ JavaScript alert handling (alerts, confirms)
  • πŸ”„ Dynamic content (checkbox disappearance, input enable/disable)

πŸ›  Tech Stack

  • Java 17+
  • Selenium 4
  • JUnit 5
  • Maven
  • Chrome WebDriver

πŸ“ Project Structure

SeleniumTestSuite/
β”œβ”€β”€ pom.xml
└── src/
    β”œβ”€β”€ main/
    β”‚   └── java/
    β”‚       └── pages/
    β”‚           β”œβ”€β”€ BasePage.java
    β”‚           β”œβ”€β”€ LoginPage.java
    β”‚           β”œβ”€β”€ CheckboxesPage.java
    β”‚           β”œβ”€β”€ DropdownPage.java
    β”‚           β”œβ”€β”€ FileUploadPage.java
    β”‚           β”œβ”€β”€ JavaScriptAlertsPage.java
    β”‚           └── DynamicControlsPage.java
    └── test/
        └── java/
            └── tests/
                β”œβ”€β”€ LoginTest.java
                β”œβ”€β”€ CheckboxesTest.java
                β”œβ”€β”€ DropdownTest.java
                β”œβ”€β”€ FileUploadTest.java
                β”œβ”€β”€ JavaScriptAlertsTest.java
                └── DynamicControlsTest.java

πŸš€ Getting Started

Prerequisites

  • Java JDK 17 or higher installed
  • Maven installed
  • Chrome browser installed
  • ChromeDriver installed and properly set in your system path

Setup

  1. Clone the repository:
git clone https://github.com/Artenes/SeleniumTestSuite.git
  1. Navigate to the project directory:
cd SeleniumTestSuite
  1. Install dependencies:
mvn clean install

Run the test suite:

mvn test

πŸ“Έ Sample Outputs

  • Test execution will open Chrome in headless mode and perform operations like login, checkbox selection, file uploads, and alert handling.
  • Success and failure results will be reported in the console by Maven's Surefire plugin.

πŸ“ˆ Future Improvements

  • Add a reporting tool like Allure or ExtentReports for detailed HTML reports
  • Integrate with CI/CD pipelines (GitHub Actions, Jenkins)
  • Add parallel cross-browser testing (using WebDriverManager / Selenium Grid)
  • Add retry logic for flaky tests

πŸ“„ License

This project is licensed under the MIT License.

πŸ‘€ Author

Artenes Junior Gomes Nogueira

About

Sample test suite using Selenium + Java

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages