A Selenium + TestNG automated test suite that validates core functionality of Indeed.com, including job search, filtering, navigation, and job management features.
- Overview
- Tech Stack
- Project Structure
- Test Suites
- Getting Started
- Running the Tests
- Security
- Contributing
- License
This project was built as part of a software testing course (CEN 4072) at Florida International University. It demonstrates end-to-end browser automation using Selenium WebDriver, with WebDriverManager handling browser driver setup automatically.
Cloudflare bot-detection bypass is handled in the shared BaseTest setup so all tests run cleanly in a headless-compatible Chrome environment.
| Tool | Version | Purpose |
|---|---|---|
| Java | 21 | Primary language |
| Selenium WebDriver | 4.21.0 | Browser automation |
| TestNG | 7.10.2 | Test framework |
| WebDriverManager | 5.9.1 | Automatic driver management |
| Maven | 3.x | Build & dependency management |
IndeedUnitTesting/
├── src/
│ └── test/java/org/example/
│ ├── BaseTest.java # Shared WebDriver setup/teardown
│ ├── HomePageTest.java # Home page UI validation
│ ├── JobListingTest.java # Individual job listing checks
│ ├── JobManagementTest.java # "My Jobs" tab management
│ ├── JobSearchEndToEndTest.java # Full search-to-apply flow
│ ├── NavigationTabsTest.java # Top navigation tab traversal
│ ├── SearchFiltersTest.java # Search filter interactions
│ └── SearchResultsTest.java # Search results validation
├── testng.xml # TestNG suite configuration
├── pom.xml # Maven build configuration
├── SECURITY.md # Security policy
├── CONTRIBUTING.md # Contribution guidelines
└── LICENSE # MIT License
| Test Class | What It Covers |
|---|---|
HomePageTest |
Page title, search bar visibility, logo presence |
JobListingTest |
Job card details, apply button, company info |
JobManagementTest |
Saved jobs, applied jobs under "My Jobs" tab |
JobSearchEndToEndTest |
Full end-to-end: search → filter → click listing → apply |
NavigationTabsTest |
Jobs, Company, Salaries, and other top-nav tabs |
SearchFiltersTest |
Remote/full-time/part-time filters, date posted, salary |
SearchResultsTest |
Result count, pagination, result card structure |
- Java 21+
- Maven 3.6+
- Google Chrome (latest stable)
git clone https://github.com/ethanmalavia/IndeedUnitTesting.git
cd IndeedUnitTestingmvn install -DskipTestsRun the full suite via Maven:
mvn testOr run a specific test class:
mvn test -Dtest=HomePageTestTestNG reports are generated in target/surefire-reports/ after each run.
Please review SECURITY.md for our vulnerability disclosure policy.
See CONTRIBUTING.md for guidelines on how to contribute to this project.
This project is licensed under the MIT License.