Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/shakhawat1998/selenium-testng-restassured-assignment
https://github.com/shakhawat1998/selenium-testng-restassured-assignment
Last synced: 13 days ago
JSON representation
- Host: GitHub
- URL: https://github.com/shakhawat1998/selenium-testng-restassured-assignment
- Owner: Shakhawat1998
- Created: 2024-11-20T10:08:25.000Z (about 2 months ago)
- Default Branch: main
- Last Pushed: 2024-11-20T10:38:51.000Z (about 2 months ago)
- Last Synced: 2024-11-20T12:13:06.451Z (about 2 months ago)
- Language: Java
- Size: 70.3 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Project Title: Selenium-TestNG-Rest Assured Automation for DailyFinance Website
## Project SummaryThis project automates critical workflows for the [DailyFinance website](https://dailyfinance.roadtocareer.net) using **Selenium-TestNG**. The automation covers user registration, login, password reset, item management, profile updates, and admin dashboard validation. It includes end-to-end testing, negative test scenarios, and secure handling of sensitive data such as admin credentials.
## Features
1. **User Registration and Email Validation:**
- Automates user registration and validates the "Congratulations" email.2. **Password Reset Workflow:**
- Tests password reset functionality with valid and invalid inputs.
- Retrieves and validates reset emails from Gmail.3. **Item Management:**
- Adds random items to the user’s list and validates their presence.4. **Profile Update:**
- Updates the user email and validates login with the updated and old email.5. **Admin Dashboard Validation:**
- Securely logs in as admin and verifies user details via the admin dashboard.6. **Secure Data Handling:**
- Uses `config.properties` file for managing sensitive credentials.## Tools and Technologies
- **Programming Language:** Java
- **Build Tool:** Gradle
- **Web Automation:** Selenium WebDriver
- **Test Framework:** TestNG
- **API Testing:** Rest Assured
- **Data Handling:** Simple JSON for JSON manipulation and CSV Parser for CSV-based data input
- **Reporting:** Allure## How to Run This Project
### 1. Clone the Project
Clone the repository using the following command:
```bash
git clone
```
### 2. Open the Project in IntelliJ IDEA
- Open IntelliJ IDEA.
- Navigate to **File > Open**.
- Select the cloned folder and expand it.
- Choose Open as Project.
### 3. Run the Test Suite
Execute the following command to clean and run the test suite with admin credentials:```bash
gradle clean test -Pemail="[email protected]" -Ppassword="admin123"
```### 4. Generate and Serve Allure Report
To generate the Allure report, use the following command:```bash
allure generate allure-results --clean -o allure-report
```
To serve the Allure report in your browser, run:
```bash
allure serve allure-results
```### Report
![gmail2](https://github.com/user-attachments/assets/acc7f2bc-9cf3-4925-a245-ac92e6d0219a)![image](https://github.com/user-attachments/assets/45d4ea09-006e-42f3-ae09-3fec59953547)
### Video
full recording is attached [here](https://drive.google.com/file/d/1ha8t6Vd5GFd6k1vpb0npl5F7zKyydL-1/view?usp=sharing)