Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/chatgthb/parabanktestautomation
Techcareer.net - E2E Test Automation Workshop
https://github.com/chatgthb/parabanktestautomation
allure-report java pageobject-pattern selenium testng
Last synced: 5 days ago
JSON representation
Techcareer.net - E2E Test Automation Workshop
- Host: GitHub
- URL: https://github.com/chatgthb/parabanktestautomation
- Owner: ChatGTHB
- License: mit
- Created: 2024-10-27T16:32:19.000Z (10 days ago)
- Default Branch: master
- Last Pushed: 2024-10-27T18:06:35.000Z (10 days ago)
- Last Synced: 2024-10-27T21:43:41.026Z (10 days ago)
- Topics: allure-report, java, pageobject-pattern, selenium, testng
- Language: Java
- Homepage:
- Size: 9.77 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ParabankTestAutomation
![Java](https://img.shields.io/badge/Java-ED8B00?style=for-the-badge&logo=java&logoColor=white)
![Selenium](https://img.shields.io/badge/Selenium-43B02A?style=for-the-badge&logo=selenium&logoColor=white)
![TestNG](https://img.shields.io/badge/TestNG-FF9E2C?style=for-the-badge&logo=testng&logoColor=white)
![JUnit](https://img.shields.io/badge/JUnit-25A162?style=for-the-badge&logo=junit&logoColor=white)
![Allure](https://img.shields.io/badge/Allure-E94D5F?style=for-the-badge&logo=allure&logoColor=white)
![Jenkins](https://img.shields.io/badge/Jenkins-D24939?style=for-the-badge&logo=jenkins&logoColor=white)## 💡 Bootcamp Overview
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! 🎓💻
## 📁 Project Structure
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
```## 📥 Installation
### Cloning the Repository
Clone the repository to your local machine:
```bash
git clone https://github.com/ChatGTHB/ParabankTestAutomation.git
```### Importing into IntelliJ IDEA from VCS
1. Open IntelliJ IDEA.
2. Go to `File > New > Project from Version Control`.
3. Select `Git` and enter the repository URL: `https://github.com/ChatGTHB/ParabankTestAutomation.git`.
4. Click `Clone`.### Dependencies
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`](https://github.com/ChatGTHB/ParabankTestAutomation/blob/main/pom.xml) file.
## ⚙️ Usage
### Running Tests
You can run the tests either from the terminal or directly in IntelliJ IDEA.#### Terminal
To run all test classes with Maven, use:
```bash
mvn test
```#### IntelliJ IDEA
1. Open the project in IntelliJ IDEA.
2. Navigate to the test class you want to run.
3. Right-click on the test class or method and select **Run**.## ✨ Features
- **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.
## 📊 Allure Reports and Jenkins Integration
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:```bash
# Generate Allure report
allure serve
```For 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.
## 🔧 Configuration
- **pom.xml**: Manage dependencies and plugins.## 📚 Documentation
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**](https://www.selenium.dev/documentation/)
- [**TestNG Documentation**](https://testng.org/doc/)
- [**Jenkins Documentation**](https://www.jenkins.io/doc/)
- [**Allure Documentation**](https://docs.qameta.io/allure/)## 🛠️ Troubleshooting
If you encounter issues:
1. Verify Maven dependencies are correctly configured.
2. Check configurations in `pom.xml`.
3. For CI/CD issues, verify Jenkins configurations and Allure plugins.## 👥 Contributors
- [ChatGTHB](https://github.com/ChatGTHB)## 🤝 Contributing
Contributions are welcome! Please follow these steps:
1. Fork the repository.
2. Create a new branch (`git checkout -b feature-branch`).
3. Commit your changes (`git commit -m 'Add new feature'`).
4. Push to the branch (`git push origin feature-branch`).
5. Create a Pull Request.## 📜 License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.For more information on how to get started, visit the [ParabankTestAutomation GitHub repository](https://github.com/ChatGTHB/ParabankTestAutomation).