Automated end-to-end (E2E) tests for the ParaBank demo banking application using Selenium WebDriver and JavaScript.
This project follows modern test automation best practices to ensure maintainable, scalable, and reliable UI tests.
Page Object Model (POM)
Clean separation between test logic and UI selectors for better maintainability.
Automated Screenshots on Failure
Automatically captures browser screenshots whenever a test fails for easier debugging.
Dynamic Test Data
Generates fresh user credentials on every test run to avoid data conflicts.
Robust Test Framework
- Mocha for test execution
- Chai for expressive assertions
Cross-Browser Ready
Supports browser configuration via environment variables.
Before running the tests, make sure you have:
- Node.js: v16.x or higher recommended
- Google Chrome installed
- npm (comes with Node.js)
# Clone the repository
git clone https://github.com/Shrouk-Sharaf/Selenium-ParaBank-JS
# Navigate into the project directory
cd Selenium-ParaBank-JS
# Install dependencies
npm install
# Run all tests
npm test
# Run a specific test suite
npx mocha tests/registration.spec.js --timeout 30000
npx mocha tests/login.spec.js --timeout 30000
npx mocha tests/transfer.spec.js --timeout 30000
# Run a single test file
npx mocha test/<filename>.spec.js
# Run tests with a specific browser
BROWSER=chrome npm test