Skip to content

This project is an end-to-end test automation suite for the Library Management Website, developed using Selenium WebDriver with Java, implementing the Page Object Model (POM) and Cucumber-BDD approach. It validates core user flows such as login, book search, borrowing/returning books, and contact form submissions.The framework includes ExtentReport

Notifications You must be signed in to change notification settings

swathi-T3/library-management-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

📚 LMS Automation Project – Selenium + TestNG + POM + Cucumber

LMS Logo


🧭 Introduction

This project is a test automation framework for the Library Management System (LMS) web application. It follows the Page Object Model (POM) pattern and integrates Selenium WebDriver, TestNG, and Cucumber for behavior-driven development (BDD). Test execution reports are generated using ExtentReports.

It covers major LMS modules like Login, Dashboard, Book Search, Borrow, Contact, and more. Designed for reusability, scalability, and maintainability.


🧩 Project Type

Automation Testing | UI Test Automation | Cucumber BDD


🌐 Application Under Test


📁 Project Structure

LMS-Project-POM/
├── src/
│   ├── main/java/
│   │   ├── POMfiles_LMS/
│   │   │   ├── LoginPage.java
│   │   │   ├── DashboardPage.java
│   │   │   ├── BookSearchPage.java
│   │   │   ├── BorrowPage.java
│   │   │   ├── ContactUsPage.java
│   │   │   ├── FooterPage.java
│   │   │   └── HomePage.java
│   │   ├── StepDefinitionfiles_LMS/
│   │   │   └── ... # Cucumber Step Definitions
│   │   └── utils/
│   │       └── ... # Utility classes (WebDriverManager, ConfigReader)
│
│   ├── test/java/
│   │   ├── TestFileToRunPOM_LMS/
│   │   │   ├── LoginPageTest.java
│   │   │   ├── DashboardPageTest.java
│   │   │   ├── BookSearchPageTest.java
│   │   │   ├── BorrowPageTest.java
│   │   │   ├── ContactUsPageTest.java
│   │   │   ├── FooterPageTest.java
│   │   │   └── HomePageTest.java
│   │   └── ToRunSteps_LMS/
│   │       └── TestRunner.java
│
│   └── test/resources/
│       └── credentials.properties
│
├── FeaturesFiles_LMS/
│   └── *.feature # Gherkin scenarios per module
├── screenshots/           # Captured screenshots on failure
├── test-output/           # TestNG + Extent report output
├── target/                # Build & compiled test artifacts
├── pom.xml                # Maven dependencies
├── TestNG.xml             # TestNG Suite config
└── README.md              # Project documentation

🎬 Demo Videos (Coming Soon)


✨ Key Features

  • 📄 Page Object Model (POM) Design Pattern
  • 🧪 Automated functional UI testing
  • 🧵 Cucumber BDD integration
  • ✅ TestNG-based test management
  • 📸 Screenshot capture on failure
  • 📊 Beautiful HTML reports via ExtentReports
  • 🌍 Configurable test data with credentials.properties

🧠 Design Choices & Assumptions

  • POM ensures clean separation of concerns (UI & test logic)
  • TestNG + Maven simplifies suite execution
  • ExtentReports provide detailed and visual test feedback
  • ChromeDriver used (can be extended to other browsers)
  • Java 17 selected for modern compatibility

⚙️ Setup & Run

✅ Prerequisites

  • Java 17+
  • Maven
  • TestNG plugin (in IDE)
  • ChromeDriver in system path

🔽 Clone the Repo

git clone https://github.com/your-username/LMS-Project-POM.git
cd LMS-Project-POM

▶️ Run Tests (TestNG)

Right-click on TestNG.xml → Run As → TestNG Suite


🧪 How to Use

  • Open in Eclipse or IntelliJ
  • Update URL and credentials in credentials.properties
  • Configure browser drivers (Chrome by default)
  • Run:
    • TestRunner.java (for Cucumber)
    • TestNG.xml (for TestNG-based tests)
  • Check results in:
    • test-output/
    • Extent report: LMS<LoginPage>_Report.html
    • Failed screenshots: screenshots/

🔐 Test Credentials

Username: test_user
Password: Test@123

🧰 Tech Stack

Tool Purpose
Java 17 Core programming language
Selenium WebDriver Browser automation
TestNG Test framework
Cucumber BDD support
Maven Dependency management
ExtentReports Test reporting

🧑‍💻 Author

Thoorpati Swathi
📧 swathithoorpati03@gmail.com
🔗 LinkedIn


⭐ Feedback & Support

If this project helped you or you learned from it, feel free to:

  • ⭐ Star the repo
  • 🍴 Fork and enhance
  • 🐞 Raise issues or improvements

“Testing is the art of thinking clearly under pressure.”


Happy Testing! 🎉

About

This project is an end-to-end test automation suite for the Library Management Website, developed using Selenium WebDriver with Java, implementing the Page Object Model (POM) and Cucumber-BDD approach. It validates core user flows such as login, book search, borrowing/returning books, and contact form submissions.The framework includes ExtentReport

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published