Skip to content

TugbaKilic33/ParaBankCucumberProject

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

100 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ§ͺ ParaBank Cucumber Automation Project

πŸ“Œ Table of Contents


πŸ“„ Project Description

ParaBank is a virtual banking application that represents a simulated environment for testing and simulating financial transactions. It is not a real financial institution but is used in place of a real banking application during software testing. The test environments provided above are designed for performing various operations that users can execute in a web-based banking application. They are valuable tools for simulating financial transactions such as account creation, money transfers, credit application submissions, and bill payments. They are utilized for implementing various test scenarios. This project automates functional UI tests for the ParaBank Project using Java,Selenium WebDriver, Cucumber, TestNG, and the Page Object Model (POM), **Scenario Outline **, Data Table. The project adopts BDD principles and parallel test execution for scalable automation.

πŸ” Test Environment

πŸ”— https://parabank.parasoft.com/
πŸ§ͺ Alternative: https://para.testar.org/


πŸ’ͺ Key Features:

  • Cucumber with Gherkin syntax for human-readable test cases
  • TestNG + XML execution with browser parameterization
  • Thread-safe WebDriver management with ThreadLocal
  • ExtentReports Integration for both HTML and PDF reporting
  • Page Object Model (POM) for maintainable test code
  • Healenium for dynamic locator handling
  • Scenario Outline for data-driven testing
  • Data Table for parameterized tests

🏠 Project Structure

ParaBankProject_Cucumber/
β”œβ”€β”€ src/
β”‚   └── test/
β”‚       β”‚
β”‚       β”œβ”€β”€ java/
β”‚       β”‚   β”œβ”€β”€ featureFiles/                # .feature files written in Gherkin
β”‚       β”‚   β”œβ”€β”€ hooks/                       # Cucumber Hooks (Before/After)
β”‚       β”‚   β”œβ”€β”€ pages/                       # Page Object Model classes
β”‚       β”‚   β”œβ”€β”€ runners/                     # TestNG runner classes
β”‚       β”‚   β”‚   └── XML/                     # TestNG XML configuration files
β”‚       β”‚   β”œβ”€β”€ stepDefinitions/             # Cucumber step definitions
β”‚       β”‚   └── utilities/                   # Driver, ConfigReader, ExtentReportManager, etc.
β”‚       β”‚
β”‚       └── resources/                       # ExtentReports configuration
β”‚
β”œβ”€β”€ testBugReports/                          # Bug reports (if any)
β”œβ”€β”€ testGifs/                                # GIFs used in reports
β”œβ”€β”€ testReports/                             # Spark & PDF report output (auto-generated)
β”œβ”€β”€ configuration.properties                 # General test configuration
β”œβ”€β”€ pom.xml                                  # Maven build configuration
└── README.md

🧰 Technologies Used and Dependencies

All required dependencies are declared in pom.xml. Ensure Maven updates all packages automatically.

Tool / Library Description
Java JDK 21 Programming Language
Selenium WebDriver 4.31.0 Web Automation Library
Cucumber 7.20.0 BDD Testing Framework
TestNG 7.10.2 Test Execution Engine
ExtentReports + Adapter 1.14.0 Spark + PDF reporting integration
Maven Project Build + Dependency Manager
SLF4J + Log4j Logging
Healenium-web Locator catching
Java Faker library Dynamically generate unique and realistic test data

πŸš€ Installation

  1. Clone the repository:
    git clone https://github.com/AzimKorkmaz/ParaBankProject_Cucumber.git
  2. Open the project in IntelliJ IDEA or your preferred IDE.
  3. Run:
    mvn clean install

πŸ› οΈ Usage

  • To execute all tests with default configuration:
    mvn test
  • To run specific browser tests:
    • Open singleBrowserTesting.xml or parallelBrowserTesting.xml in the runners/XML/ folder.
    • Right-click and run the XML file.
    • Or You can run the feature file directly by right-clicking on the feature file in the featureFiles/ folder.

🧾 Key Features Tested

  • βœ… User Registration: Creation of user accounts and success message validation.
  • βœ… User Login: Validation of login success/failure with correct and incorrect credentials.
  • βœ… Bill Payment: Payments for electricity, water, and natural gas bills.
  • βœ… Account Creation: Creating checking and savings accounts.
  • βœ… Money Transfer: Transfer of funds between internal accounts.
  • βœ… Contact Info Update: Editing and verifying profile data.
  • βœ… Loan Application: Applying for loans and handling of both approval and denial scenarios.

🧰 User Stories & Test Scenarios

1️⃣ US_601 - User Registration

πŸ“Œ The user, wants to create a new user account by registering on the Para Bank website.

βœ… Expected: After clicking on the "Register" link, the user must fill in the required fields, successfully register and log in to the system.

βœ… Actual: The user filled in the form, registered, received a success message and logged into the system.

.gif

2️⃣ US_602 - User Login

βž• Positive Scenario

πŸ“Œ The user wants to log in to the system with a valid username and password.

βœ… Expected: The user must be able to log in successfully and then log out.

βœ… Actual: The user logged in and successfully logged out of the system.

.gif

βž– Negative Scenario

πŸ“Œ The user is trying to log in to the system with invalid information.

βœ… Expected: The input must fail and an appropriate error message must be displayed to the user.

βœ… Actual: The login failed and the user was shown an error message.

.gif

3️⃣ US_603 - Bill Payment

πŸ“Œ The user wants to make payments by entering invoice types such as electricity, water or natural gas into the system.

βœ… Expected: The payment must be successfully completed, updated in the system and appear in the payment list.

βœ… Actual: The user made the invoice payment, the system showed a successful message and it was included in the payment list.

.gif

4️⃣ US_604 - New Account Creation

βž• Positive Scenario – Checking Account Creation

πŸ“Œ The user wants to create a new demand deposit account on the para bank website.

βœ… Expected: The user must create the new account, receive a confirmation message and see the account number.

βœ… Actual: The user created a new demand deposit account, received a confirmation message and the account number was displayed.

.gif

βž• Positive Scenario – Saving Account Creation

πŸ“Œ The user wants to open a new term account by entering the parabank system.

βœ… Expected: The new account should be created successfully and the confirmation message and account number should be displayed.

βœ… Actual: The user created the new term account, the system showed a successful message and provided the account number.

5️⃣ US_605 - Money Transfer

βž• Positive Scenario – Money Transfer

πŸ“Œ The user wants to transfer a certain amount between the two accounts they have.

βœ… Expected: The transfer must be successful, a confirmation message must be displayed to the user and the transaction must be included in the account statement.

❌ Actual: After the money transfer, when you go to the Find Transactions link and query the Transaction ID, the website does not show the transfer made. Transfers made with other query fields such as transfer date, transfer amount are displayed.

.gif

βž– Negative Scenario – Money Transfer

πŸ“Œ The user wants to verify this transaction using the transaction ID of a past money transfer.

βœ… Expected: The transaction with the Transaction ID must be found and the transaction amount must be the same as before.

βœ… Actual: The transaction with Transaction ID was found and the amount matched.

6️⃣ US_606 - Contact Info Update

βž• Positive Scenario – Contact Info Update

πŸ“Œ The user wishes to update contact information such as address, city, postcode and telephone number.

βœ… Expected: The updated information must be successfully saved, a confirmation message must be displayed and this information must be correctly displayed when the user logs in again.

❌ Actual: When the user wanted to change any of his/her information, for example, even if he/she entered numbers or special characters in the surname, the system accepted this information. therefore a bug ticket was created.

.gif

βž– Negative Scenario – Contact Info Update

πŸ“Œ The user is trying to update contact details with incomplete information.

βœ… Expected: The system should not allow updates and should display warning messages about missing fields.

βœ… Actual: No update was made, warning messages were shown to the user.

7️⃣ US_607 - Loan Application

βž• Positive Scenario - Loan Application

πŸ“Œ The user wants to apply for a loan with valid data and expects approval.

βœ… Expected: The user must be able to apply for a loan, see the result instantly, receive an 'Approved' message, and see the new account number. The user should verify that there are no transactions in the new account.

βœ… Actual: The user applied for a loan, received an approval message, saw the new account number, and verified that there were no transactions in the new account.

US_607_Positive

βž– Negative Scenario - Loan Application

πŸ“Œ The user tries to apply for a loan with invalid data and expects rejection.

βœ… Expected: The user must see the result instantly, receive a 'Denied' message, and see the reason for the rejection.

βœ… Actual: The user applied for a loan with invalid data, received a denial message, and saw the reason for the rejection.

US_607_Negative


🧰 User Stories & Test Scenarios

User Story Description Status
US_601 User Registration βœ… Passed
US_602 User Login βœ… Passed
US_603 Bill Payment βœ… Passed
US_604 New Account Creation βœ… Passed
US_605 Money Transfers ❌ Failed
US_606 Contact Info Update ❌ Failed
US_607 Loan Application βœ… Passed

πŸ“Š Test Coverage Table

Scenario Priority
User Registration Highest
User Login Highest
Bill Payment Highest
New Account Creation High
Money Transfers Medium
Contact Info Update Medium
Loan Application High

πŸ“Š Test Reports

Report Type Description
Spark Report Rich HTML report with steps/screenshots
PDF Report Clean summary with scenario results

Find reports inside:

- /testReports/SparkReport/
- /testReports/PDFReport/

πŸ“… Bug Reports

Bug reports are tracked in the GitHub Issues section of the repository.

US_606 Contact Info Update ❌ when the user wanted to change any of his/her information, for example, even if he/she entered numbers or special characters in the surname, the system accepted this information. therefore a bug ticket was created.

US_605 Money Transfers ❌ After the money transfer, when you go to the Find Transactions link and query the Transaction ID, the website does not show the transfer made. Transfers made with other query fields such as transfer date, transfer amount are displayed.


- testBugReports/US_606 Contact Detail BugReports.pdf
- testBugReports/US_605 Transfer Money Between My Accounts BugReports.pdf

πŸ‘₯ Project Team

Name Role User Stories
Azim Korkmaz Project Lead & QA Engineer US_604
Zafer AtaklΔ± QA Engineer US_601
Nuri Γ–ztΓΌrk QA Engineer US_602
RΔ±fat BatΔ±r QA Engineer US_603
Tugba Kilic QA Engineer US_605
Yigit Cam QA Engineer US_606
Sibel Oztemel QA Engineer US_607

πŸ”— GitHub Links

Contributors:


πŸ“œ License

This project is licensed under the MIT License.


πŸ“§ Contact

For any questions or suggestions, please reach out via GitHub or team leads listed above.


About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors