-
Notifications
You must be signed in to change notification settings - Fork 479
E2E:Shared
This page is the shared entry point for Ledger Live E2E testing. It covers ownership, overall strategy, and where to find the canonical documentation for setup, Speculos, reporting, CI, best practices, and troubleshooting.
This project is maintained by the QAA squad. Please contact the squad for questions about E2E strategy, shared tooling, Speculos seed access, reporting, or CI behavior.
Contributions are welcome, whether they add new scenarios or improve existing ones. Before submitting a change, make sure the related tests have been exercised and that shared guidance stays platform-neutral.
- Prerequisites & environment: monorepo, mise toolchain, CoinApps, Docker, Speculos image, 1Password seed setup, and environment variables.
- Speculos: emulation strategy, lifecycle, broadcast policy, and limitations.
- CI, reporting & Xray: Allure, Slack, Xray, CI runs, sharding, and platform workflow links.
- Best practices: test IDs, page objects, independent tests, waits, and the generic workflow for adding tests.
- Troubleshooting: environment, Docker, CoinApps, Allure, CLI, and platform-specific debugging pointers.
- Desktop E2E: Playwright, Electron, Desktop builds, Desktop local execution, Desktop CI, and Desktop test examples.
- Mobile E2E: Detox, Jest, iOS/Android setup, Mobile builds, Mobile local execution, Mobile CI, and Mobile test examples.
Ledger Live E2E tests aim to mimic real user interactions as closely as possible. For flows involving Ledger devices, the framework uses Speculos, an emulator for Nano apps that allows interaction with blockchain flows such as verifying addresses, sending, swapping, and more.
This strategy helps remove mocks where possible and produces more reliable results than tests that only exercise application state. Desktop currently maintains 250+ UI E2E scenarios executed with Speculos and Playwright. Mobile uses Detox and Jest for React Native flows, with Speculos available for hardware wallet interactions.
Shared pages own concepts that apply to both Desktop and Mobile:
- E2E ownership and contribution model.
- Monorepo and environment prerequisites.
- CoinApps, Speculos image, 1Password seed setup, and common environment variables.
- Speculos lifecycle, broadcast policy, and emulation limitations.
- Allure, Slack, and Xray concepts.
- Generic test-writing conventions and troubleshooting.
Platform pages own details that differ by application:
- Desktop: Playwright, Electron, Desktop build commands, Desktop test paths, Desktop CI workflow inputs, and Desktop page object examples.
- Mobile: Detox, Jest, iOS/Android simulator setup, Mobile build commands, Mobile test paths, Mobile CI workflow inputs, and Mobile page object examples.
When adding or changing E2E documentation:
- Put shared concepts in the shared pages and link to them from platform pages.
- Keep Desktop and Mobile pages focused on platform-specific deltas.
- Avoid copying the same setup or reporting instructions into multiple pages.
- Update links when moving sections so readers can navigate from old references to the new canonical page.
- Validate image references and wiki links before publishing.
- Ledger Live Desktop
- Ledger Live Mobile
- Ledger Live E2E
- Ledger Live Common
- Assorted tips
- Integration Tests
- Process
- Monorepository Migration Guide
- Issues, Workaround and Tricks
- Common CI Troubleshooting
- Create staging builds using the CI