https://github.com/nafizkamal11/Web-Automation-Project-using-TestNG-Selenium
https://github.com/nafizkamal11/Web-Automation-Project-using-TestNG-Selenium
Last synced: about 1 month ago
JSON representation
- Host: GitHub
- URL: https://github.com/nafizkamal11/Web-Automation-Project-using-TestNG-Selenium
- Owner: nafizkamal11
- Created: 2025-01-12T13:05:35.000Z (4 months ago)
- Default Branch: main
- Last Pushed: 2025-01-12T14:37:18.000Z (4 months ago)
- Last Synced: 2025-04-05T12:11:58.559Z (about 1 month ago)
- Language: Java
- Size: 82 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# **A Web Automation Project using ...**

This project automates key scenarios on the website [Daily Finance](https://dailyfinance.roadtocareer.net/) using TestNG for testing and follows the Page Object Model (POM) design pattern.
---
## π₯οΈ Features
- User Registration and Email Verification
- Password Reset Scenarios (Negative & Positive)
- Login Verification
- Item Addition and Assertion
- Profile Update and Email Validation
- Admin Dashboard Validation## βοΈ Tools and Technologies Used
- **Language**: Java
- **Framework**: TestNG
- **Build Tool**: Gradle
- **Design Pattern**: Page Object Model (POM)
- **Reporting**: Allure Reports
- **Version Control**: GitHub## π§ Automation Scenarios : [Recording](https://go.screenpal.com/watch/cTVllJneJQ0)
### π§ͺ Scenario 1: User Registration
1. Visit [Daily Finance](https://dailyfinance.roadtocareer.net/).
2. Register a new user (e.g., `[email protected]`).
3. Assert that a "Congratulations" email is received.### π§ͺ Scenario 2: Password Reset
1. Attempt password reset with invalid data (2 negative test cases).
2. Input the registered Gmail account and request a reset link.
3. Retrieve the password reset email from Gmail.
4. Set a new password and confirm the reset.
5. Login with the new password and ensure success.### π§ͺ Scenario 3: Adding Items
1. Add two items to the list:
- One with all fields filled.
- One with only mandatory fields filled.
2. Assert that both items appear in the item list.### π§ͺ Scenario 4: Profile Update
1. Update the registered email to a new Gmail address from the user profile.
2. Logout and login with the updated email.
3. Assert that login with the updated email is successful.
4. Assert that login with the old email fails.### π§ͺ Scenario 5: Admin Dashboard Validation
1. Login as an admin using credentials passed securely through the terminal.
2. Search for the updated email.
3. Assert that the updated email appears in the admin dashboard.## π Allure Reports


## π Test Case Documentation
You can find the detailed test cases [here](https://docs.google.com/spreadsheets/d/1Th49lhptVNlXDWJhZjxc_F62TAe7EHzb/edit?gid=1414849447#gid=1414849447).
## π Setup and Execution
### π Prerequisites
- Java 8 or higher
- Gradle installed
- Gmail credentials with less secure app access enabled (optional for testing email automation)### π£οΈ Steps to Run the Tests
1. Clone the repository:
```bash
git clone
cd web-automation-testNG-selenium
```
2. Install dependencies:
```bash
gradle clean build
```
3. Run the test suite:
```bash
gradle test
```
4. Generate Allure Report:
```bash
allure generate allure-results --clean -output
allure serve allure-results/
```
## ποΈ Folder Structure
```
web-automation-testNG-selenium/
βββ .gitignore
βββ build.gradle
βββ gradle/
β βββ wrapper/
β βββ gradle-wrapper.jar
β βββ gradle-wrapper.properties
βββ gradlew
βββ gradlew.bat
βββ settings.gradle
βββ src/
βββ test/
βββ java/
β βββ com/
β βββ yourcompany/
β βββ pages/
β β βββ HomePage.java
β β βββ LoginPage.java
β β βββ RegistrationPage.java
β β βββ ProfilePage.java
β βββ tests/
β β βββ RegistrationTest.java
β β βββ LoginTest.java
β β βββ PasswordResetTest.java
β β βββ ProfileUpdateTest.java
β βββ utils/
β βββ EmailUtils.java
β βββ TestBase.java
βββ resources/
βββ testng.xml
βββ config.properties
```## πFuture Improvements
- Enhance test coverage with additional edge cases.
- Implement data-driven testing for scalability.
- Automate Gmail interactions using secure OAuth tokens.