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
Binary file added .DS_Store
Binary file not shown.
31 changes: 31 additions & 0 deletions .env
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
FUND_FIT_LANDING_PAGE_URL=https://streamlyne.com/fundfit/
FUND_FIT_TEST_ENV_URL=https://test-fundfit.streamlyne.org/
FUND_FIT_LOGIN_PAGE_URL=https://test-fundfit.streamlyne.org/login
FUND_FIT_REGISTER_PAGE_URL=https://test-fundfit.streamlyne.org/register
FUND_FIT_USER_EMAIL=mahbubasr091@gmail.com
FUND_FIT_USER_NEW_EMAIL=mahbubasr091@gmail.com
FUND_FIT_USER_PASSWORD=streamLyne8068!@
FUND_FIT_USER_PREVIOUS_PASSWORD=streamLyne2025@
FUND_FIT_FORGET_PASSWORD_PAGE_URL=https://test-fundfit.streamlyne.org/forgot-password
FUND_FIT_DASHBOARD_PAGE_URL=https://test-fundfit.streamlyne.org/dashboard
FUND_FIT_START_MATCHING_PAGE_URL=https://test-fundfit.streamlyne.org/matcher
FUND_FIT_MATCHES_PAGE_URL=https://test-fundfit.streamlyne.org/match
FUND_FIT_NOTIFICATIONS_PAGE_URL=https://test-fundfit.streamlyne.org/notifications

FUND_FIT_PROFILE_PAGE_URL=https://test-fundfit.streamlyne.org/profile
FUND_FIT_PROFILE_EDIT_PAGE_URL=https://test-fundfit.streamlyne.org/profile/settings
FUND_FIT_PROFILE_PASSWORD_SETTING_PAGE_URL=https://test-fundfit.streamlyne.org/profile/settings/password
FUND_FIT_TEST_PASSWORD=test2025@FundFit
FUND_FIT_PROFILE_EMAIL_SETTING_PAGE_URL=https://test-fundfit.streamlyne.org/profile/settings/email

FUND_FIT_PROFILE_BACKGROUND_PAGE_URL=https://test-fundfit.streamlyne.org/profile/background
FUND_FIT_PROFILE_BACKGROUND_CREATE_PAGE_URL=https://test-fundfit.streamlyne.org/profile/background/create
FUND_FIT_PROFILE_BACKGROUND_UPDATE_PAGE_URL=https://test-fundfit.streamlyne.org/profile/background/update

FUND_FIT_PROFILE_WORK_PAGE_URL=https://test-fundfit.streamlyne.org/profile/work
FUND_FIT_PROFILE_WORK_CREATE_PAGE_URL=https://test-fundfit.streamlyne.org/profile/work/create
FUND_FIT_PROFILE_WORK_UPDATE_PAGE_URL=https://test-fundfit.streamlyne.org/profile/work/update

FUND_FIT_PROFILE_PROJECT_PAGE_URL=https://test-fundfit.streamlyne.org/profile/funding
FUND_FIT_PROFILE_ATTACHMENT_PAGE_URL=https://test-fundfit.streamlyne.org/profile/attachment
FUND_FIT_CREATE_PROJECT_PAGE_URL=https://test-fundfit.streamlyne.org/profile/funding/create
46 changes: 18 additions & 28 deletions .github/workflows/main.yml
Original file line number Diff line number Diff line change
@@ -1,33 +1,23 @@
name: Playwright Test Suite
on:
[push]

name: Playwright Tests
on: [push, pull_request]
jobs:
test:
timeout-minutes: 60
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: lts/*

- name: Install dependencies
run: npm ci

- name: Install Playwright Browsers
run: npx playwright install --with-deps

- name: Run Playwright tests
run: |
npx playwright test
npm install -D allure-commandline
- name: Generate Allure report
run: npx allure generate allure-results --clean -o allure-report

- uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: allure-reports
path: allure-report/
retention-days: 30
- uses: actions/checkout@v4
- uses: actions/setup-node@v4
with:
node-version: lts/*
- name: Install dependencies
run: npm ci
- name: Install Playwright Browsers
run: npx playwright install --with-deps
- name: Run Playwright tests
run: npx playwright test
- uses: actions/upload-artifact@v4
if: ${{ !cancelled() }}
with:
name: playwright-report
path: playwright-report/
retention-days: 30
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ web_modules/
.yarn-integrity

# dotenv environment variable files
.env
# .env
.env.development.local
.env.test.local
.env.production.local
Expand Down Expand Up @@ -135,3 +135,4 @@ dist
/blob-report/
/playwright/.cache/
/reports/*
/allure-results/*
21 changes: 0 additions & 21 deletions LICENSE

This file was deleted.

121 changes: 119 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,2 +1,119 @@
# playwright_TS_Project
creating playwright hybrid framework using Typescript.
# Streamlyne FundFit Test

<p align="center">
<a href="https://github.com/your-username/streamlyne-fundfit-test/actions/workflows/ci.yml">
<img src="https://github.com/your-username/streamlyne-fundfit-test/actions/workflows/ci.yml/badge.svg" alt="Build Status">
</a>
<a href="https://nodejs.org/">
<img src="https://img.shields.io/badge/node-%3E%3D16-brightgreen" alt="Node Version">
</a>
<a href="https://www.typescriptlang.org/">
<img src="https://img.shields.io/badge/types-TypeScript-blue" alt="TypeScript">
</a>
</p>

An interactive test automation project using Playwright and TypeScript.

## Overview

This project is designed to automate testing for the Streamlyne FundFit application. It leverages the power of Playwright, a modern end-to-end testing framework, combined with TypeScript for type safety and maintainability.

## Features

- Cross-browser testing (Chromium, Firefox, WebKit)
- Headless and headed execution modes
- Parallel test execution
- Detailed test reports
- Easy-to-maintain test structure

## Prerequisites

Before you begin, ensure you have the following installed:

- [Node.js](https://nodejs.org/) (v16 or later)
- [npm](https://www.npmjs.com/) or [yarn](https://yarnpkg.com/)

## Installation

1. Clone the repository:

```bash
git clone https://github.com/your-username/streamlyne-fundfit-test.git
cd streamlyne-fundfit-test
```

2. Install dependencies:
`bash
npm install
`

## Usage

### Running Tests

To execute all tests in headless mode:

```bash
npx playwright test
```

To run tests in a specific browser:

```bash
npx playwright test --project=chromium
npx playwright test --project=firefox
npx playwright test --project=webkit
```

To run tests in headed mode:

```bash
npx playwright test --headed
```

### Generating Reports

After running tests, generate an HTML report:

```bash
npm run allure:serve
```

### Debugging Tests

Use the Playwright Inspector for debugging:

```bash
npx playwright test --debug
```

## Project Structure

```
streamlyne-fundfit-test/
├── pageObjectModel/ # Page Resources with Page Selectors
├── tests/ # Test files
├── testData/ # Storing test data on page resource basis
├── utilities/ # Resource needed for test management with custom action class
├── reports/ # Storing log and reporting resources
├── playwright.config.ts # Playwright configuration
├── .env # Storing Credentials and Sensitive information
├── package.json # Project metadata and dependencies
└── README.md # Project documentation
```

## Tools and Technologies

- **Playwright**: End-to-end testing framework
- **TypeScript**: Strongly typed programming language
- **Jest**: Test runner (integrated with Playwright)
- **ESLint**: Linting tool for code quality
- **Prettier**: Code formatter
- **Allure Reporting**: Test Reporting

## Contributing

1. Fork the repository.
2. Create a new branch (`git checkout -b feature/your-feature`).
3. Commit your changes (`git commit -m 'Add your feature'`).
For questions or support, please contact [jvalle@streamlyne.com](mailto:jvalle@streamlyne.com).
57 changes: 54 additions & 3 deletions package-lock.json

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

21 changes: 13 additions & 8 deletions package.json
Original file line number Diff line number Diff line change
@@ -1,32 +1,37 @@
{
"name": "playwright_ts_project",
"name": "playwright-hybrid-framework-stramlyne",
"version": "1.0.0",
"description": "creating playwright hybrid framework using Typescript.",
"main": "index.js",
"scripts": {
"test:codegen": "npx playwright codegen",
"pretest": "npx playwright install && npx rimraf playwright-report test-results",
"test": "npx playwright test || npm run posttest",
"pretest": "npx playwright install && npx rimraf playwright-report test-results reports",
"test": "npx playwright test; npm run allure:serve",
"testpw": "npx playwright test",
"test:ui": "npx playwright test --ui",
"test:chrome": "npx playwright test --project=chromium",
"test:debug": "npx playwright test --debug",
"test:headed": "npx playwright test --headed",
"posttest": "npx playwright show-report",
"dot:report": "npx playwright test --reporter=dot",
"line:report": "npx playwright test --reporter=line"
"posttest": "npx playwright show-report reports/html",
"allure:serve": "allure serve ./reports/allure-results",
"mcp": "npx @playwright/mcp@latest",
"playwright:install": "npx playwright install --with-deps"
},
"keywords": [],
"author": "",
"author": "StreamLyne",
"license": "ISC",
"devDependencies": {
"@playwright/test": "^1.50.1",
"@types/node": "^22.13.9",
"allure-commandline": "^2.34.0",
"allure-playwright": "^3.0.9",
"rimraf": "^6.0.1"
},
"dependencies": {
"@faker-js/faker": "^9.7.0",
"allure-js-commons": "^3.2.0",
"winston": "^3.17.0"
"dotenv": "^16.5.0",
"winston": "^3.17.0",
"zod": "^3.24.3"
}
}
Loading
Loading