Skip to content

raadxrahman/Web-Automation-with-Selenium-TestNG

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 

Repository files navigation

Automating and Scraping Webpages using Selenium & TestNG

In this project, I have used Selenium & TestNG following the Page-Object-Model(POM) to automate all features of the Daily Finance website, read and store datas from .CSV and .txt files, and scrape data from a data table.

Technologies Used

Prerequisites

  • Java Development Kit (JDK) 8 or later
  • IntelliJ IDEA (or your preferred Java IDE)
  • Gradle (if you want to use the provided Gradle build)
  • Allure CLI (for generating reports)
  • Gmail API

Setup Instructions

  1. Clone the repository:

    git clone <repository_url>
    cd <repository_name>
  2. Open the project in IntelliJ IDEA:

    • Open IntelliJ IDEA.
    • Select "Open or Import Project."
    • Navigate to the project directory and select the build.gradle file (if you are using Gradle) or the project directory itself.
    • IntelliJ IDEA will import the project.

Tasks Automated

  • User Registration: Automation of the new user registration process, including dynamic email generation (e.g., gmailuser+randomdigit@gmail.com) and assertion of successful registration.
  • Password Reset - Negative Testing: Implementation of two negative test cases for the password reset functionality with appropriate assertions.
  • Password Reset - Initiate Link: Automation of the process to input a valid registered email and trigger the sending of the password reset link.
  • Password Reset - New Password Setup: Automation to retrieve the password reset email (via external means or simulated retrieval) and set a new password for the user account.
  • Login with New Password: Automated verification of successful login using the newly set password.
  • Item Creation: Automation to add two new items to the item list: one with all fields populated and another with only mandatory fields, along with assertions to confirm their presence.
  • User Profile Update: Automation of the process to navigate to the user profile and update the registered email address.
  • Login with Updated Credentials: Automated testing to ensure successful login with the newly updated email address and failed login attempts with the previous email.
  • Admin Login (Secure Credentials): Automation of the admin login process, emphasizing the secure handling of admin credentials (passed via terminal).
  • Admin User Search: Automated functionality for admin users to search by an updated user's email and assertion of the updated email's visibility on the admin dashboard.
  • Bulk User Registration (CSV Data): Implementation of data-driven testing to register three additional users using data sourced from a CSV file.
  • User Data Extraction (Admin): Automation for admin users to retrieve all user data from the user table and write it to a text file.

Test Cases

Visit the link for the detailed test cases covered while automating the website.

Allure Reports

1. Overview

Screenshot 2025-05-07 215539

2. Behaviours

Screenshot 2025-05-07 215558

Demonstration

Includes running the project both from IDE and Terminal.

Click on the video. Watch the video

Author

Mahbubur Rahman

About

Test automation framework for the Daily Finance application (https://dailyfinance.roadtocareer.net/). Implemented using Selenium WebDriver and TestNG. Generated Allure Report.

Topics

Resources

Stars

Watchers

Forks

Languages