Skip to content

Add E2E Testing with Playwright #231

@wheval

Description

@wheval

Add E2E Testing with Playwright

Description:
Set up end-to-end testing with Playwright to test the extension in real browsers.

Context:
We need E2E tests that verify complete user flows work correctly.

Requirements:

  • Install and configure Playwright
  • Set up extension testing utilities
  • Create test fixtures
  • Write tests for onboarding flow
  • Test send transaction flow
  • Test session key management
  • Test lock/unlock flow
  • Create CI integration
  • Document test writing guide

Test Coverage:

- Onboarding (create account, set password)
- Send transaction
- Receive (show QR code)
- Session keys (create, revoke)
- Lock/unlock
- Settings changes

API Design:

import { test, expect } from './fixtures';

test('sends XLM successfully', async ({ extension, page }) => {
  await extension.unlock('password');
  await extension.goto('/send');
  
  await page.fill('[name="to"]', 'GDEF...');
  await page.fill('[name="amount"]', '10');
  await page.click('button:has-text("Send")');
  
  await expect(page.locator('.toast-success')).toBeVisible();
});

Files to Create:

  • apps/extension-wallet/tests/playwright.config.ts
  • apps/extension-wallet/tests/fixtures/extension.ts
  • apps/extension-wallet/tests/e2e/onboarding.spec.ts
  • apps/extension-wallet/tests/e2e/transactions.spec.ts
  • apps/extension-wallet/tests/e2e/session-keys.spec.ts

Dependencies:

  • @playwright/test

Success Criteria:

  • Tests run in CI reliably
  • Critical flows covered
  • Test execution < 5 minutes

Definition of Done:

  • Playwright configured
  • Critical flows have tests
  • Tests passing in CI
  • Documentation complete

Labels: testing, e2e, infrastructure
Complexity: 200 points (High)
Estimated Effort: 4-5 days
Priority: High


Questions or need help? Join our Telegram community

Metadata

Metadata

Assignees

No one assigned

    Labels

    Stellar WaveIssues in the Stellar wave program

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions