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.
- 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.propertiespour 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.
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
-
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
-
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 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.
- 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)
- â 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
Ce projet est sous licence MIT. Voir LICENSE.
Hakim Sahraoui â hakimsahraoui.de@gmail.com