cypress-playwright-data-gen
v1.0.11
Published
A simple Cypress & Playwright plugin for generating realistic test data using Faker.js.
Downloads
142
Maintainers
Readme
cypress-playwright-data-gen
A lightweight fake data generator for Cypress and Playwright tests — create realistic test data like users, cards, institutions, and more in seconds!
Installation steps:
Install using npm or yarn:
npm install cypress-playwright-data-genyarn add cypress-playwright-data-genUsage In Cypress
- Importing - Add the commands in your cypress/support/e2e.js (or commands.js):
import 'cypress-playwright-data-gen/cypress/commands';Then you can use the custom commands anywhere in your tests:
Just an example — OrangeHRM doesn’t have public signup, so let’s imagine we were testing a form or registration flow:
//Generate user data (Firstname, Lastname, Email, etc)
it('uses generated user data for a signup-style test', () => {
cy.generateUser().then((user) => {
cy.visit('https://example.com/register');
cy.get('#firstName').type(user.firstName);
cy.get('#lastName').type(user.lastName);
cy.get('#email').type(user.email);
cy.get('#password').type(user.password);
cy.get('#submit').click();
cy.log(`Generated user: ${user.firstName} ${user.lastName}, email: ${user.email}`);
});
});
//Generate card data (Card number, Cvv, Expiry date)
it('generates card data for payment-related tests', () => {
cy.generateCard().then((card) => {
cy.log(`Card Number: ${card.number}`);
cy.log(`Expiry: ${card.expiryMonth}/${card.expiryYear}`);
cy.log(`CVV: ${card.cvv}`);
});
});
Usage In Playwright
- Importing - Import the generators directly and use them in your Playwright tests:
import { generateUser, generateCard, generateAddress, generateTransaction, generateInstitution }
from 'cypress-playwright-data-gen/playwright/utils';Then you can use them anywhere in your Playwright tests:
Just an example — OrangeHRM doesn’t have public signup, so let’s imagine we were testing a form or registration flow:
import { test, expect } from '@playwright/test';
import { generateUser, generateCard } from 'cypress-playwright-data-gen/playwright/utils';
//Generate user data (Firstname, Lastname, Email, etc)
test('uses generated user data for a signup-style test', async ({ page }) => {
const user = generateUser();
await page.goto('https://example.com/register');
await page.fill('#firstName', user.firstName);
await page.fill('#lastName', user.lastName);
await page.fill('#email', user.email);
await page.fill('#password', user.password);
await page.click('#submit');
console.log(`Generated user: ${user.firstName} ${user.lastName}, email: ${user.email}`);
});
//Generate card data (Card number, Cvv, Expiry date)
test('generates card data for payment-related tests', async () => {
const card = generateCard();
console.log(`Card Number: ${card.number}`);
console.log(`Expiry: ${card.expiryMonth}/${card.expiryYear}`);
console.log(`CVV: ${card.cvv}`);
});
🧩 Available Generators
| Generator | Attributes | |------------|-------------| | 👤 generateUser() | fullName, firstName, lastName, username, password, userId, avatar, email, phone, address | | 💳 generateCard() | cardNumber, cvv, expiry | | 🏠 generateAddress() | street, city, state, postalCode, country | | 🏦 generateInstitution() | institutionId, name, type, country, branchCode, contactEmail, phone | | 💰 generateTransaction() | amount, currency, type, date, merchant, transactionId, status |
