This repository is created as part of the Techcareer.net E2E Test Automation Workshop. In this 10-hour workshop, participants learn the essentials of end-to-end (E2E) test automation. This hands-on workshop focuses on:
- Understanding E2E testing concepts.
- Speeding up automation processes and integrating them into real-world projects.
- Utilizing testing tools in practical scenarios to enhance efficiency and accuracy in software development.
Start your journey in E2E test automation and develop critical automation skills to improve software quality! 🎓💻
Below is the project structure used in this repository:
src
├── main
│ ├── java
│ │ ├── base
│ │ │ ├── BaseLibrary.java
│ │ │ ├── BaseTest.java
│ │ │ └── Data.java
│ │ └── pages
│ │ ├── HomePage.java
│ │ ├── LoginPage.java
│ │ ├── MainPage.java
│ │ └── RegisterPage.java
├── test
│ └── java
│ ├── LoginTests.java
│ └── RegisterTests.java
└── pom.xml
Clone the repository to your local machine:
git clone https://github.com/cihat-kose/parabank-selenium-testng-e2e.git- Open IntelliJ IDEA.
- Go to
File > New > Project from Version Control. - Select
Gitand enter the repository URL:https://github.com/cihat-kose/parabank-selenium-testng-e2e.git. - Click
Clone.
The project dependencies are managed through Maven, which automatically handles downloading and configuration. Key dependencies include:
- Selenium WebDriver for browser automation.
- TestNG and JUnit for testing framework support.
- Allure TestNG for reporting.
- AspectJ Weaver for AOP (Aspect-Oriented Programming) support.
For the complete list of dependencies, please refer to the pom.xml file.
You can run the tests either from the terminal or directly in IntelliJ IDEA.
To run all test classes with Maven, use:
mvn test- Open the project in IntelliJ IDEA.
- Navigate to the test class you want to run.
- Right-click on the test class or method and select Run.
- Page Object Model (POM): Clean and maintainable code structure.
- TestNG & JUnit Integration: Comprehensive test coverage using TestNG and JUnit.
- Allure Reporting: Generate in-depth and user-friendly test reports.
- AspectJ for AOP: Support for cross-cutting concerns such as logging.
For additional details on each feature and to explore the code, please refer to the relevant sections in the project.
This project utilizes Allure for creating detailed test execution reports. Allure reports provide insights into test results, including passed, failed, and skipped test cases. Reports can be generated and viewed locally using:
# Generate Allure report
allure serveFor CI/CD, the project is compatible with Jenkins. Jenkins can automate test runs, generate Allure reports after each build, and provide a historical view of test stability, which is essential for maintaining high software quality standards.
- pom.xml: Manage dependencies and plugins.
Detailed documentation is available in each class and method. Key documentation tools include:
- JavaDocs in code for inline documentation.
- README.md for setup and usage instructions.
- Selenium Documentation
- TestNG Documentation
- Jenkins Documentation
- Allure Documentation
If you encounter issues:
- Verify Maven dependencies are correctly configured.
- Check configurations in
pom.xml. - For CI/CD issues, verify Jenkins configurations and Allure plugins.
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch). - Commit your changes (
git commit -m 'Add new feature'). - Push to the branch (
git push origin feature-branch). - Create a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.
For more information on how to get started, visit the Parabank Selenium TestNG E2E GitHub repository.