This project is an end-to-end test automation suite for the ZeroBank web application. It uses Playwright for browser automation and testing. The suite includes tests for various functionalities such as login, search, feedback form, currency exchange, and transaction filtering.
zerobank-automation/
├── page-objects/
│ ├── AbstractPage.ts
│ ├── HomePage.ts
│ ├── LoginPage.ts
│ ├── FeedbackPage.ts
│ └── components/
│ └── Navbar.ts
├── tests/
│ ├── e2e/
│ │ ├── e2e-login.spec.ts
│ │ ├── e2e-search.spec.ts
│ │ ├── e2e-submit-form.spec.ts
│ │ ├── e2e-currency-exchange.spec.ts
│ │ └── e2e-filter-transactions.spec.ts
├── playwright.config.ts
└── README.md
- Node.js (>=14.x)
- npm (>=6.x)
-
Clone the repository:
git clone https://github.com/yourusername/zerobank-automation.git cd zerobank-automation
-
Install dependencies:
npm install
-
Configure Playwright:
npx playwright install
To run all tests:
npx playwright test
To run a specific test file:
npx playwright test tests/e2e/e2e-login.spec.ts
File: e2e-login.spec.ts
Description: Tests the login and logout functionality, including positive and negative scenarios.
File: e2e-search.spec.ts
Description: Tests the search functionality for both valid and invalid search terms.
File: e2e-submit-form.spec.ts
Description: Tests the feedback form's reset and submit functionalities.
File: e2e-currency-exchange.spec.ts
Description: Tests the currency exchange functionality, including rate display and conversion calculations.
File: e2e-filter-transactions.spec.ts
Description: Tests the filtering of transactions by account.
File: AbstractPage.ts
Description: Base class for all page objects, providing common methods and properties.
File: HomePage.ts
Description: Represents the home page and includes methods for navigation and interactions.
File: LoginPage.ts
Description: Represents the login page and includes methods for performing login actions.
File: FeedbackPage.ts
Description: Represents the feedback page and includes methods for interacting with the feedback form.
File: components/Navbar.ts
Description: Represents the navigation bar and includes methods for interacting with navigation tabs.
- Fork the repository.
- Create a new branch (
git checkout -b feature-branch
). - Make your changes.
- Commit your changes (
git commit -m 'Add new feature'
). - Push to the branch (
git push origin feature-branch
). - Create a new Pull Request.
This project is licensed under the MIT License. See the LICENSE file for details.