test: use playwright text locator waitFor in live app smoke tests #1252
build-and-test-pr.yml
on: pull_request
Turbo Affected
/
Determine Affected
1m 1s
Test Mobile E2E
/
Ledger Live Mobile - Android Detox Tests
Matrix: Build Desktop / build-desktop-app
Build Mobile
/
Build LLM | Android
Build Mobile
/
Build LLM | iOS
Test Design System
/
Design System Tests
Test Mobile
/
LLM CodeCheck
Test Desktop
/
LLD Code Checks
7m 53s
Test Desktop
/
Desktop Unit Tests
4m 36s
Test Libraries
/
Codecheck Libraries
Test Libraries
/
Test Docs
Test Libraries
/
Test Libraries
Matrix: Test Mobile E2E / Upload to Xray
Waiting for pending jobs
Test Mobile E2E
/
report
Test Mobile E2E
/
report-on-slack
OK
2s
Annotations
12 errors, 3 warnings, and 1 notice
Test Desktop / LLD Code Checks
ledger-live-desktop#lint: command (/home/runner/work/ledger-live/ledger-live/apps/ledger-live-desktop) /home/runner/setup-pnpm/node_modules/.bin/pnpm run lint --format=json -o=lint-desktop.json exited (1)
|
Test Desktop / LLD Code Checks
Process completed with exit code 1.
|
Test Desktop / Desktop Tests E2E (Ubuntu)
Error: expect(locator).toBeVisible()
Locator: getByText('currency: bitcoin')
Expected: visible
Received: <element(s) not found>
Call log:
- expect.toBeVisible with timeout 41000ms
- waiting for getByText('currency: bitcoin')
Failed worker ran 8 tests:
[mocked_tests] › tests/specs/accounts/account.spec.ts:23:9 › Accounts @smoke › [ETH] Add account
[mocked_tests] › tests/specs/accounts/delegate.smoke.spec.ts:45:5 › The user search and select a provider
[mocked_tests] › tests/specs/deeplinks/discover.cold.spec.ts:11:5 › Discover deeplink cold start @smoke
[mocked_tests] › tests/specs/general/portfolio.spec.ts:8:5 › Portfolio @smoke
[mocked_tests] › tests/specs/manager/customImageNftGallery.spec.ts:15:5 › Custom image (with populated NFT gallery)
[mocked_tests] › tests/specs/onboarding/connect-device.spec.ts:19:9 › Onboarding › [nanoS] Onboarding flow already set up
[mocked_tests] › tests/specs/postOnboarding/post-onboarding.spec.ts:16:5 › PostOnboarding state logic
[mocked_tests] › tests/specs/services/buy.spec.ts:42:5 › Buy / Sell @smoke
at specs/services/buy.spec.ts:119
117 |
118 | expect(await liveAppWebview.waitForCorrectTextInWebview("theme: dark")).toBeVisible();
> 119 | expect(await liveAppWebview.waitForCorrectTextInWebview("currency: bitcoin")).toBeVisible();
| ^
120 | expect(
121 | await liveAppWebview.waitForCorrectTextInWebview("account: mock:1:bitcoin:true_bitcoin_0:"),
122 | ).toBeVisible();
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/services/buy.spec.ts:119:83
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/services/buy.spec.ts:113:3
|
Test Desktop / Desktop Tests E2E (Ubuntu)
Error: expect(locator).toBeVisible()
Locator: getByText('lang: en')
Expected: visible
Received: <element(s) not found>
Call log:
- expect.toBeVisible with timeout 41000ms
- waiting for getByText('lang: en')
Failed worker ran 7 tests:
[mocked_tests] › tests/specs/accounts/account.spec.ts:23:9 › Accounts @smoke › [ATOM] Add account
[mocked_tests] › tests/specs/accounts/account.spec.ts:23:9 › Accounts @smoke › [DOT] Add account
[mocked_tests] › tests/specs/general/keyboard-shortcuts.spec.ts:11:5 › Keyboard shortcuts
[mocked_tests] › tests/specs/manager/customImage.spec.ts:12:5 › Custom image
[mocked_tests] › tests/specs/onboarding/restore-device.spec.ts:19:9 › Onboarding › [nanoSP] Onboarding flow already set up
[mocked_tests] › tests/specs/recover/recover.spec.ts:44:7 › Recover @smoke › Restore page with nanoSP
[mocked_tests] › tests/specs/services/earn.spec.ts:33:5 › Earn @smoke
at specs/services/earn.spec.ts:47
45 |
46 | expect(await liveAppWebview.waitForCorrectTextInWebview("theme: dark")).toBeVisible();
> 47 | expect(await liveAppWebview.waitForCorrectTextInWebview("lang: en")).toBeVisible();
| ^
48 | expect(await liveAppWebview.waitForCorrectTextInWebview("locale: en-US")).toBeVisible();
49 | expect(await liveAppWebview.waitForCorrectTextInWebview("discreetMode: false")).toBeVisible();
50 | expect(await liveAppWebview.waitForCorrectTextInWebview("currencyTicker: USD")).toBeVisible();
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/services/earn.spec.ts:47:74
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/services/earn.spec.ts:42:3
|
Test Desktop / Desktop Tests E2E (Ubuntu)
Testing stopped early after 5 maximum allowed failures.
|
[mocked_tests] › specs/accounts/account.spec.ts:23:9 › Accounts @smoke › [LTC] Add account:
apps/ledger-live-desktop/tests/fixtures/common.ts#L183
1) [mocked_tests] › specs/accounts/account.spec.ts:23:9 › Accounts @smoke › [LTC] Add account ────
TimeoutError: page.waitForSelector: Timeout 99000ms exceeded.
Call log:
- waiting for locator('#loader-container') to be hidden
at fixtures/common.ts:183
181 | // app is loaded
182 | await page.waitForLoadState("domcontentloaded");
> 183 | await page.waitForSelector("#loader-container", { state: "hidden" });
| ^
184 |
185 | // use page in the test
186 | await use(page);
at Object.page (/home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/fixtures/common.ts:183:16)
|
[mocked_tests] › specs/market/market.spec.ts:34:5 › Market:
apps/ledger-live-desktop/tests/specs/market/market.spec.ts#L167
2) [mocked_tests] › specs/market/market.spec.ts:34:5 › Market › buy bitcoin from market page ─────
Error: Timed out 41000ms waiting for expect(locator).toBeVisible()
Locator: getByText('theme: dark')
Expected: visible
Received: <element(s) not found>
Call log:
- expect.toBeVisible with timeout 41000ms
- waiting for getByText('theme: dark')
165 | .soft(page)
166 | .toHaveScreenshot("market-btc-buy-page.png", { mask: [page.locator("webview")] });
> 167 | await expect(await liveAppWebview.waitForCorrectTextInWebview("theme: dark")).toBeVisible();
| ^
168 | await expect(await liveAppWebview.waitForCorrectTextInWebview("currency: bitcoin")).toBeVisible();
169 | await expect(await liveAppWebview.waitForCorrectTextInWebview("mode: buy")).toBeVisible();
170 | await expect(await liveAppWebview.waitForCorrectTextInWebview("lang: en")).toBeVisible();
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/market/market.spec.ts:167:83
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/market/market.spec.ts:162:3
|
[mocked_tests] › specs/services/buy.spec.ts:42:5 › Buy / Sell @smoke:
apps/ledger-live-desktop/tests/specs/services/buy.spec.ts#L118
3) [mocked_tests] › specs/services/buy.spec.ts:42:5 › Buy / Sell @smoke ──────────────────────────
Error: expect(locator).toBeVisible()
Locator: getByText('theme: dark')
Expected: visible
Received: <element(s) not found>
Call log:
- expect.toBeVisible with timeout 41000ms
- waiting for getByText('theme: dark')
116 | await accountPage.navigateToSell();
117 |
> 118 | expect(await liveAppWebview.waitForCorrectTextInWebview("theme: dark")).toBeVisible();
| ^
119 | expect(await liveAppWebview.waitForCorrectTextInWebview("currency: bitcoin")).toBeVisible();
120 | expect(
121 | await liveAppWebview.waitForCorrectTextInWebview("account: mock:1:bitcoin:true_bitcoin_0:"),
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/services/buy.spec.ts:118:77
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/services/buy.spec.ts:113:3
|
[mocked_tests] › specs/services/confirmTransaction.spec.ts:69:5 › Confirm Transaction modals @smoke:
apps/ledger-live-desktop/tests/specs/services/confirmTransaction.spec.ts#L121
4) [mocked_tests] › specs/services/confirmTransaction.spec.ts:69:5 › Confirm Transaction modals @smoke › transaction.signAndBroadcast
Error: Timed out 41000ms waiting for expect(locator).toBeVisible()
Locator: getByText('0.0001 ETH')
Expected: visible
Received: <element(s) not found>
Call log:
- expect.toBeVisible with timeout 41000ms
- waiting for getByText('0.0001 ETH')
119 | await deviceAction.openApp();
120 | await expect(page.getByText("Sign transaction on your Ledger Device")).toBeVisible();
> 121 | await expect(page.getByText("0.0001 ETH")).toBeVisible();
| ^
122 | await expect(
123 | page.getByText("Double-check the transaction details on your Ledger device before signing."),
124 | ).toBeVisible();
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/services/confirmTransaction.spec.ts:121:48
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/services/confirmTransaction.spec.ts:88:3
|
[mocked_tests] › specs/services/earn.spec.ts:33:5 › Earn @smoke:
apps/ledger-live-desktop/tests/specs/services/earn.spec.ts#L46
5) [mocked_tests] › specs/services/earn.spec.ts:33:5 › Earn @smoke ───────────────────────────────
Error: expect(locator).toBeVisible()
Locator: getByText('theme: dark')
Expected: visible
Received: <element(s) not found>
Call log:
- expect.toBeVisible with timeout 41000ms
- waiting for getByText('theme: dark')
44 | await liveAppWebview.waitForLoaded();
45 |
> 46 | expect(await liveAppWebview.waitForCorrectTextInWebview("theme: dark")).toBeVisible();
| ^
47 | expect(await liveAppWebview.waitForCorrectTextInWebview("lang: en")).toBeVisible();
48 | expect(await liveAppWebview.waitForCorrectTextInWebview("locale: en-US")).toBeVisible();
49 | expect(await liveAppWebview.waitForCorrectTextInWebview("discreetMode: false")).toBeVisible();
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/services/earn.spec.ts:46:77
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/services/earn.spec.ts:42:3
|
Test Desktop / Desktop Tests E2E (Ubuntu)
Process completed with exit code 1.
|
OK
Process completed with exit code 1.
|
Test Desktop / Desktop Tests E2E (Ubuntu)
This job failure may be caused by using an out of date self-hosted runner. You are currently using runner version 2.319.1. Please update to the latest version 2.320.0
|
Slow Test:
apps/ledger-live-desktop/[mocked_tests] › specs/services/confirmTransaction.spec.ts#L1
apps/ledger-live-desktop/[mocked_tests] › specs/services/confirmTransaction.spec.ts took 1.3m
|
Slow Test:
apps/ledger-live-desktop/[mocked_tests] › specs/market/market.spec.ts#L1
apps/ledger-live-desktop/[mocked_tests] › specs/market/market.spec.ts took 1.2m
|
🎭 Playwright Run Summary
5 failed
[mocked_tests] › specs/accounts/account.spec.ts:23:9 › Accounts @smoke › [LTC] Add account ─────
[mocked_tests] › specs/market/market.spec.ts:34:5 › Market ─────────────────────────────────────
[mocked_tests] › specs/services/buy.spec.ts:42:5 › Buy / Sell @smoke ───────────────────────────
[mocked_tests] › specs/services/confirmTransaction.spec.ts:69:5 › Confirm Transaction modals @smoke
[mocked_tests] › specs/services/earn.spec.ts:33:5 › Earn @smoke ────────────────────────────────
5 interrupted
[mocked_tests] › specs/onboarding/setup-device.spec.ts:19:9 › Onboarding › [nanoSP] Onboarding flow new device
[mocked_tests] › specs/syncOnboarding/manual.spec.ts:20:9 › [nanoS] SyncOnboarding › [nanoS] Manual @smoke
[mocked_tests] › specs/syncOnboarding/manual.spec.ts:20:9 › [nanoSP] SyncOnboarding › [nanoSP] Manual @smoke
[mocked_tests] › specs/syncOnboarding/manual.spec.ts:20:9 › [nanoX] SyncOnboarding › [nanoX] Manual @smoke
[mocked_tests] › specs/syncOnboarding/manual.spec.ts:20:9 › [stax] SyncOnboarding › [stax] Manual @smoke
3 skipped
55 passed (6.2m)
|
Artifacts
Produced during runtime
Name | Size | |
---|---|---|
2.88.0-sha.148a508e77a53dbf67166e75b534f46f55d00252-linux-x86_64.AppImage
|
177 MB |
|
2.88.0-sha.148a508e77a53dbf67166e75b534f46f55d00252-mac.dmg
|
242 MB |
|
2.88.0-sha.148a508e77a53dbf67166e75b534f46f55d00252-win-x64.exe
|
138 MB |
|
allure-results-linux
|
2.38 MB |
|
images
|
152 Bytes |
|
lint-desktop
|
38 KB |
|
linux-js-bundle-metafiles
|
653 KB |
|
mac-js-bundle-metafiles
|
653 KB |
|
playwright-results-linux
|
12.4 MB |
|
summary-build-desktop.json
|
360 Bytes |
|
summary-test-desktop.json
|
1.03 KB |
|
win-js-bundle-metafiles
|
653 KB |
|