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.
Automation Testing | UI Test Automation | Cucumber BDD
- URL: LMS Website
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
- 📄 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
- 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
- Java 17+
- Maven
- TestNG plugin (in IDE)
- ChromeDriver in system path
git clone https://github.com/your-username/LMS-Project-POM.git
cd LMS-Project-POMRight-click on TestNG.xml → Run As → TestNG Suite
- 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/
Username: test_user
Password: Test@123| Tool | Purpose |
|---|---|
| Java 17 | Core programming language |
| Selenium WebDriver | Browser automation |
| TestNG | Test framework |
| Cucumber | BDD support |
| Maven | Dependency management |
| ExtentReports | Test reporting |
Thoorpati Swathi
📧 swathithoorpati03@gmail.com
🔗 LinkedIn
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.”
