Mistake 4/14: Same data breaks Playwright group tests
Running tests together? Same "[email protected]" makes workers fight over one user. Quiet fails everywhere. I reviewed a test suite last week where hardcoded data completely killed their pipeline stabi...

Source: DEV Community
Running tests together? Same "[email protected]" makes workers fight over one user. Quiet fails everywhere. I reviewed a test suite last week where hardcoded data completely killed their pipeline stability. Worker 1 passes, Workers 2-5 throw "email already exists." BEFORE : Tests fight each other test('register new user', async ({ page }) => { await page.getByLabel('Email').fill('[email protected]'); // Worker 1: passes. Workers 2-5: fail instantly }); AFTER : The Factory + JSON Combo Keep your hacks and limits in a static JSON file. Use a Faker factory for everything else. Zero collisions! import { faker } from '@faker-js/faker'; import invalidInputs from './invalid-inputs.json'; // 1. Factory function for dynamic, unique runs export function createTestUser() { return { email: `test-${Date.now()}-${faker.string.alphanumeric(5)}@test.com`, password: faker.internet.password({ length: 12 }) }; } test('happy path: zero collisions', async ({ page }) => { const user = createTestUser(); await