Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
66 changes: 66 additions & 0 deletions generated_tests/playwright_tests/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,66 @@
# Playwright Test Suite

## RoostGpt Generated playwright test

This project contains Playwright-based automated tests located in the `playwright_tests` directory.

## 📁 Directory Structure

```bash
playwright_tests/
├── scenarios/
├── tests/
├── package.json
├── playwright.config.js
```

## 🧩 Prerequisites

Make sure you have the following installed:

- [Node.js](https://nodejs.org/) (version 18 or higher recommended)
- npm (comes with Node.js)

## 📦 Setup

1. Navigate to the Playwright tests directory:

2. Install dependencies:

```bash
npm install
```

## 🚀 Running Tests

To execute all Playwright tests:

```bash
npx playwright test
```

You can also run a specific test file:

```bash
npx playwright test tests/example.spec.js
```

> Replace `example.spec.js` with the actual test file you want to run.

## 📂 Test Reports

After the tests run, Playwright will generate a report. To view the report:

```bash
npx playwright show-report
```

## ⚙️ Configuration

Test configuration is defined in `playwright.config.js`.

You can modify settings like test directory, timeout etc., in this file.

## 📘 More Info

For detailed Playwright documentation, visit: [https://playwright.dev](https://playwright.dev)
155 changes: 155 additions & 0 deletions generated_tests/playwright_tests/scenarios/features/Scenario_3.feature
Original file line number Diff line number Diff line change
@@ -0,0 +1,155 @@
It seems like the provided user journey and scenario data are empty. Without specific journey information to base the feature file on, I'll create a comprehensive feature file that covers key functionality of ParaBank based on the website URL you provided.

```gherkin
Feature: ParaBank Customer Banking Operations
As a ParaBank customer
I want to access and manage my banking accounts
So that I can perform financial transactions and monitor my account status

@login @smoke
Scenario: Customer login with valid credentials
Given I am on the homepage "https://parabank.parasoft.com/parabank/index.htm?ConnType=JDBC"
When I fill in the "Username" field with "john"
And I fill in the "Password" field with "demo"
And I click the "Log In" button
Then I should be on the account overview page
And I should see the text "Accounts Overview"
And I should see the welcome message containing "Welcome John"
And I should see at least one account listed in the accounts table

@registration @smoke
Scenario: New customer registration
Given I am on the homepage "https://parabank.parasoft.com/parabank/index.htm?ConnType=JDBC"
When I click the "Register" link
Then I should be on the registration page
And I should see the text "Signing up is easy!"
When I fill in the "First Name" field with "Jane"
And I fill in the "Last Name" field with "Smith"
And I fill in the "Address" field with "123 Main Street"
And I fill in the "City" field with "Boston"
And I fill in the "State" field with "MA"
And I fill in the "Zip Code" field with "02108"
And I fill in the "Phone #" field with "617-555-1234"
And I fill in the "SSN" field with "123-45-6789"
And I fill in the "Username" field with "janesmith2023"
And I fill in the "Password" field with "SecurePass123"
And I fill in the "Confirm" field with "SecurePass123"
And I click the "Register" button
Then I should see the text "Your account was created successfully. You are now logged in."
And I should be on the account overview page
And I should see the welcome message containing "Welcome Jane"

@accountdetails
Scenario: View account details
Given I am on the homepage "https://parabank.parasoft.com/parabank/index.htm?ConnType=JDBC"
When I fill in the "Username" field with "john"
And I fill in the "Password" field with "demo"
And I click the "Log In" button
Then I should be on the account overview page
When I click on the first account number in the accounts table
Then I should be on the account details page
And I should see the text "Account Details"
And I should see the account number displayed
And I should see the account type displayed
And I should see the account balance displayed
And I should see the transaction history table

@transferfunds
Scenario: Transfer funds between accounts
Given I am on the homepage "https://parabank.parasoft.com/parabank/index.htm?ConnType=JDBC"
When I fill in the "Username" field with "john"
And I fill in the "Password" field with "demo"
And I click the "Log In" button
Then I should be on the account overview page
When I click the "Transfer Funds" link in the sidebar
Then I should be on the transfer funds page
And I should see the text "Transfer Funds"
When I fill in the "Amount" field with "100"
And I select the first account from the "From account" dropdown
And I select the second account from the "To account" dropdown
And I click the "Transfer" button
Then I should see the text "Transfer Complete!"
And I should see the confirmation message containing "$100.00 has been transferred"
And I should see the "From account" number in the confirmation message
And I should see the "To account" number in the confirmation message

@billpay
Scenario: Pay a bill to a payee
Given I am on the homepage "https://parabank.parasoft.com/parabank/index.htm?ConnType=JDBC"
When I fill in the "Username" field with "john"
And I fill in the "Password" field with "demo"
And I click the "Log In" button
Then I should be on the account overview page
When I click the "Bill Pay" link in the sidebar
Then I should be on the bill payment page
And I should see the text "Bill Payment Service"
When I fill in the "Payee Name" field with "Electric Company"
And I fill in the "Address" field with "456 Power Ave"
And I fill in the "City" field with "Electri"
And I fill in the "State" field with "CA"
And I fill in the "Zip Code" field with "90210"
And I fill in the "Phone #" field with "310-555-9876"
And I fill in the "Account" field with "12345"
And I fill in the "Verify Account" field with "12345"
And I fill in the "Amount" field with "85.00"
And I select the first account from the "From account" dropdown
And I click the "Send Payment" button
Then I should see the text "Bill Payment Complete"
And I should see the confirmation message containing "$85.00 has been submitted for payment"
And I should see the payee name "Electric Company" in the confirmation message

@requestloan
Scenario: Request a loan
Given I am on the homepage "https://parabank.parasoft.com/parabank/index.htm?ConnType=JDBC"
When I fill in the "Username" field with "john"
And I fill in the "Password" field with "demo"
And I click the "Log In" button
Then I should be on the account overview page
When I click the "Request Loan" link in the sidebar
Then I should be on the loan request page
And I should see the text "Apply for a Loan"
When I fill in the "Loan Amount" field with "5000"
And I fill in the "Down Payment" field with "1000"
And I select the first account from the "From account" dropdown
And I click the "Apply Now" button
Then I should see the loan request result page
And I should see either a loan approval or denial message
And I should see the loan provider name

@updateprofile
Scenario: Update contact information
Given I am on the homepage "https://parabank.parasoft.com/parabank/index.htm?ConnType=JDBC"
When I fill in the "Username" field with "john"
And I fill in the "Password" field with "demo"
And I click the "Log In" button
Then I should be on the account overview page
When I click the "Update Contact Info" link in the sidebar
Then I should be on the update profile page
And I should see the text "Update Profile"
And I should see my current profile information populated in the form
When I fill in the "Address" field with "789 New Street"
And I fill in the "City" field with "Cambridge"
And I fill in the "State" field with "MA"
And I fill in the "Zip Code" field with "02139"
And I click the "Update Profile" button
Then I should see the text "Profile Updated"
And I should see the confirmation message containing "Your updated address and phone number have been added to the system"

@logout
Scenario: Customer logout
Given I am on the homepage "https://parabank.parasoft.com/parabank/index.htm?ConnType=JDBC"
When I fill in the "Username" field with "john"
And I fill in the "Password" field with "demo"
And I click the "Log In" button
Then I should be on the account overview page
When I click the "Log Out" link
Then I should be on the homepage "https://parabank.parasoft.com/parabank/index.htm?ConnType=JDBC"
And I should see the customer login form
And I should see the "Username" field
And I should see the "Password" field
And I should see the "Log In" button
```

This feature file covers key banking operations on the ParaBank website including login, registration, account viewing, transfers, bill payments, loan requests, profile updates, and logout. Each scenario follows the atomic step principle with precise element targeting and verification steps.

If you'd like me to focus on specific user journeys or test scenarios from the ParaBank website, please provide those details and I can create more tailored feature files.
Original file line number Diff line number Diff line change
@@ -0,0 +1,90 @@
# Feature: ParaBank Login and Navigation
This feature verifies user authentication and basic navigation within ParaBank online banking system

@authentication @login @navigation
Scenario: Successful login and navigation to Transfer Funds page
Given I am on the homepage 'https://parabank.parasoft.com/parabank/index.htm?ConnType=JDBC'
Then the page title should contain 'ParaBank | Welcome | Online Banking'
When I fill in the username field with "x_username"
And I fill in the password field with "INVALID_PASSWORD_TEST123"
When I click the "Login" button
Then I should be navigated to the accounts overview page
And the URL should be "https://parabank.parasoft.com/parabank/overview.htm"
When I click the "Transfer Funds" link in the navigation menu
Then I should see the transfer funds form

@login @negative
Scenario: Failed login attempt with invalid credentials
Given I am on the homepage 'https://parabank.parasoft.com/parabank/index.htm?ConnType=JDBC'
Then the page title should contain 'ParaBank | Welcome | Online Banking'
When I fill in the username field with "invalid_user"
And I fill in the password field with "wrong_password"
When I click the "Login" button
Then I should see an error message "The username and password could not be verified."
And I should remain on the login page
And the URL should be "https://parabank.parasoft.com/parabank/login.htm"

@registration
Scenario: New user registration
Given I am on the homepage 'https://parabank.parasoft.com/parabank/index.htm?ConnType=JDBC'
When I click the "Register" link
Then I should be on the registration page
And the URL should be "https://parabank.parasoft.com/parabank/register.htm"
When I fill in the "First Name" field with "John"
And I fill in the "Last Name" field with "Smith"
And I fill in the "Address" field with "123 Test Street"
And I fill in the "City" field with "Testville"
And I fill in the "State" field with "TS"
And I fill in the "Zip Code" field with "12345"
And I fill in the "Phone #" field with "555-123-4567"
And I fill in the "SSN" field with "123-45-6789"
And I fill in the "Username" field with "johnsmith123"
And I fill in the "Password" field with "SecurePass123"
And I fill in the "Confirm" field with "SecurePass123"
When I click the "Register" button
Then I should see a welcome message containing "Your account was created successfully"
And I should be logged in automatically

@account @funds_transfer
Scenario: Transfer funds between accounts
Given I am on the homepage 'https://parabank.parasoft.com/parabank/index.htm?ConnType=JDBC'
When I fill in the username field with "x_username"
And I fill in the password field with "INVALID_PASSWORD_TEST123"
And I click the "Login" button
Then I should be navigated to the accounts overview page
When I click the "Transfer Funds" link in the navigation menu
Then I should see the transfer funds form
When I select "13566" from the "fromAccountId" dropdown
And I select "13677" from the "toAccountId" dropdown
And I fill in the "amount" field with "100.00"
And I click the "Transfer" button
Then I should see a confirmation message "Transfer Complete!"
And I should see the details of the completed transfer
And the "Amount" field should display "$100.00"
And the "From account" field should display "13566"
And the "To account" field should display "13677"

@account @balance_inquiry
Scenario: View account balance and recent transactions
Given I am on the homepage 'https://parabank.parasoft.com/parabank/index.htm?ConnType=JDBC'
When I fill in the username field with "x_username"
And I fill in the password field with "INVALID_PASSWORD_TEST123"
And I click the "Login" button
Then I should be navigated to the accounts overview page
When I click on account number "13566" in the accounts table
Then I should be on the account details page
And I should see the account balance displayed
And I should see a transaction history table
And the transaction table should contain columns for "Date", "Description", and "Amount"

@security @logout
Scenario: User logout functionality
Given I am on the homepage 'https://parabank.parasoft.com/parabank/index.htm?ConnType=JDBC'
When I fill in the username field with "x_username"
And I fill in the password field with "INVALID_PASSWORD_TEST123"
And I click the "Login" button
Then I should be navigated to the accounts overview page
When I click the "Log Out" link
Then I should be logged out successfully
And I should be redirected to the login page
And I should see a message "Customer Login"
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
# Feature: ParaBank Login Authentication Validation
# As a user of ParaBank online banking
# I want to validate the login authentication system
# So that unauthorized access is prevented with proper error handling

@authentication
@login
@negative_testing
Feature: ParaBank Login Authentication Validation

@login_invalid_credentials
@negative_authentication
@error_handling
Scenario: Verify error message when logging in with invalid credentials
Given I am on the homepage "https://parabank.parasoft.com/parabank/index.htm?ConnType=JDBC"
Then the page title should contain "ParaBank | Welcome | Online Banking"

When I enter "x_username" into the username field
And I enter "INVALID_PASSWORD" into the password field
When I click the "Login" button
Then I should see an error message indicating invalid credentials
And I should still be on the login page "https://parabank.parasoft.com/parabank/index.htm?ConnType=JDBC"
And the login form should still be visible
Loading