Skip to content

đŸ§Ș End-to-End Test Automation Framework with Java, Selenium & TestNG – Enterprise‑level POM architecture, data‑driven testing, reusable utilities, ExtentReports logging, parallel cross‑browser execution, CI/CD integration.

Notifications You must be signed in to change notification settings

Hakim7777/SeleniumJavaTestnGProject360

Repository files navigation

SeleniumJavaTestnGProject360

Java Selenium WebDriver TestNG Maven License

đŸ› ïž PrĂ©sentation

SeleniumJavaTestnGProject360 est un framework d’automatisation de tests End‑to‑End, conçu en Java, Selenium WebDriver et TestNG, avec une architecture POM (Page Object Model) robuste pour garantir la maintenabilitĂ©, la rĂ©utilisabilitĂ© et l’intĂ©gration continue.

Caractéristiques clés

  • Page Object Model (POM) : sĂ©paration des locators et des actions mĂ©tiers pour chaque page.
  • Data‑Driven Testing : lecture dynamique des donnĂ©es depuis Excel via Apache POI.
  • Rapports dĂ©taillĂ©s : gĂ©nĂ©ration de rapports TestNG et captures d’écran automatiques en cas d’échec.
  • Logging avancĂ© : logs techniques centralisĂ©s avec Log4j2.
  • Gestion de configuration : fichier config.properties pour paramĂ©trer navigateur, URL et chemins de donnĂ©es.
  • Maven : gestion des dĂ©pendances et build.
  • Extensible : options pour Allure, Jenkins, parallĂ©lisation et API mocks.

📁 Structure du projet

SeleniumJavaTestnGProject360/
├── pom.xml                     # DĂ©pendances Maven
├── README.md                   # Documentation
├── LICENSE                     # Licence MIT
└── src/
    ├── main/
    │   ├── java/
    │   │   └── com/project/
    │   │       ├── pages/       # Page Objects
    │   │       ├── testcases/   # Classes de tests TestNG
    │   │       └── utils/       # ExcelReader, BrowserFactory, Logger
    │   └── resources/
    │       ├── TestData/        # Fichiers Excel
    │       └── config.properties# Paramùtres (browser, URL)
    └── test-output/            # Rapports TestNG et captures

⚙ Configuration

  1. Cloner le dépÎt :

git clone https://github.com/Hakim7777/SeleniumJavaTestnGProject360.git cd SeleniumJavaTestnGProject360

2. **Configurer** `src/main/resources/config.properties` :
   ```properties
browser=chrome
url=https://exemple.com
testData=src/main/resources/TestData/TestInfo.xlsx
  1. Installer les dépendances Maven :

mvn clean install


## ▶ ExĂ©cution des tests

- **Via IDE** : exécuter les classes `*TestCase.java` en tant que TestNG Test.
- **Via Maven** :
  ```bash
mvn test

📊 Rapports & Logs

  • Rapports TestNG gĂ©nĂ©rĂ©s dans test-output/
  • Captures d’écran en cas d’échec dans test-output/screenshots/
  • Logs dĂ©taillĂ©s dans logs/ via Log4j2.

🌟 FonctionnalitĂ©s

  • Lecture des donnĂ©es Excel (Apache POI)
  • Gestion centralisĂ©e du navigateur (BrowserFactory)
  • Captures dynamiques et reporting automatique
  • Extensible pour CI/CD (Jenkins, GitHub Actions)

🚀 Roadmap

  • ✅ IntĂ©gration continue avec Jenkins
  • ⚙ Migration vers Allure Reports
  • 🚀 ParallĂ©lisation des tests TestNG
  • 🔒 SĂ©curisation des credentials (.env ou Vault)
  • đŸ€ RĂ©daction de CONTRIBUTING.md

📄 Licence

Ce projet est sous licence MIT. Voir LICENSE.

📬 Contact

Hakim Sahraoui – hakimsahraoui.de@gmail.com

About

đŸ§Ș End-to-End Test Automation Framework with Java, Selenium & TestNG – Enterprise‑level POM architecture, data‑driven testing, reusable utilities, ExtentReports logging, parallel cross‑browser execution, CI/CD integration.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published