@Desktop • UI e2e • Test App triggered by VicAlbr on ref support/qaa-376 #943
test-ui-e2e-only-desktop.yml
on: workflow_dispatch
Matrix: Desktop Tests E2E (Ubuntu)
Upload to Xray
0s
Notify to slack
0s
Annotations
16 errors and 4 notices
[speculos_tests] › specs/speculos/receive.address.spec.ts:38:9 › Receive › [Polkadot] Receive:
apps/ledger-live-desktop/tests/specs/speculos/receive.address.spec.ts#L68
1) [speculos_tests] › specs/speculos/receive.address.spec.ts:38:9 › Receive › [Polkadot] Receive › Retrieve address displayed
TimeoutError: locator.textContent: Timeout 120000ms exceeded.
Call log:
- waiting for locator('#address-field')
66 | }
67 | await app.receive.continue();
> 68 | const displayedAddress = await app.receive.getAddressDisplayed();
| ^
69 | await app.receive.expectValidReceiveAddress(displayedAddress);
70 |
71 | await app.speculos.expectValidAddressDevice(account.account, displayedAddress);
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/speculos/receive.address.spec.ts:68:52
|
[speculos_tests] › specs/speculos/receive.address.spec.ts:38:9 › Receive › [XRP] Receive:
apps/ledger-live-desktop/tests/specs/speculos/receive.address.spec.ts#L68
2) [speculos_tests] › specs/speculos/receive.address.spec.ts:38:9 › Receive › [XRP] Receive › Retrieve address displayed
TimeoutError: locator.textContent: Timeout 120000ms exceeded.
Call log:
- waiting for locator('#address-field')
66 | }
67 | await app.receive.continue();
> 68 | const displayedAddress = await app.receive.getAddressDisplayed();
| ^
69 | await app.receive.expectValidReceiveAddress(displayedAddress);
70 |
71 | await app.speculos.expectValidAddressDevice(account.account, displayedAddress);
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/speculos/receive.address.spec.ts:68:52
|
[speculos_tests] › specs/speculos/send.tx.spec.ts:252:11 › Send flows › Send from 1 account to another › Send from Tron 1 to Tron 2:
apps/ledger-live-desktop/tests/specs/speculos/send.tx.spec.ts#L269
3) [speculos_tests] › specs/speculos/send.tx.spec.ts:252:11 › Send flows › Send from 1 account to another › Send from Tron 1 to Tron 2 › Click `Continue` button
Error: Timed out 41000ms waiting for expect(locator).toBeVisible()
Locator: locator('text=Double-check the transaction details on your Ledger device before signing.')
Expected: visible
Received: <element(s) not found>
Call log:
- expect.toBeVisible with timeout 41000ms
- waiting for locator('text=Double-check the transaction details on your Ledger device before signing.')
267 | await app.send.continueAmountModal();
268 | await app.send.expectTxInfoValidity(transaction.transaction);
> 269 | await app.send.clickContinueToDevice();
| ^
270 |
271 | await app.speculos.signSendTransaction(transaction.transaction);
272 | await app.send.expectTxSent();
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/speculos/send.tx.spec.ts:269:26
|
[speculos_tests] › specs/speculos/delegate.spec.ts:190:9 › Delegate without Broadcasting › [Cardano] Delegate without broadcasting:
apps/ledger-live-desktop/tests/specs/speculos/delegate.spec.ts#L215
1) [speculos_tests] › specs/speculos/delegate.spec.ts:190:9 › Delegate without Broadcasting › [Cardano] Delegate without broadcasting › Sign Delegation Transaction
Error: ElementNotFoundException: Element with text "Register" not found on speculos screen
213 | }
214 |
> 215 | await app.speculos.signDelegationTransaction(account.delegate);
| ^
216 | await app.delegate.verifySuccessMessage();
217 |
218 | if (account.delegate.account.currency.name !== Currency.ADA.name) {
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/speculos/delegate.spec.ts:215:28
|
[speculos_tests] › specs/speculos/delegate.spec.ts:190:9 › Delegate without Broadcasting › [Cardano] Delegate without broadcasting:
apps/ledger-live-desktop/tests/specs/speculos/delegate.spec.ts#L215
1) [speculos_tests] › specs/speculos/delegate.spec.ts:190:9 › Delegate without Broadcasting › [Cardano] Delegate without broadcasting › Sign Delegation Transaction
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
Error: ElementNotFoundException: Element with text "Register" not found on speculos screen
213 | }
214 |
> 215 | await app.speculos.signDelegationTransaction(account.delegate);
| ^
216 | await app.delegate.verifySuccessMessage();
217 |
218 | if (account.delegate.account.currency.name !== Currency.ADA.name) {
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/speculos/delegate.spec.ts:215:28
|
[speculos_tests] › specs/speculos/delegate.spec.ts:190:9 › Delegate without Broadcasting › [Cardano] Delegate without broadcasting:
apps/ledger-live-desktop/tests/specs/speculos/delegate.spec.ts#L215
1) [speculos_tests] › specs/speculos/delegate.spec.ts:190:9 › Delegate without Broadcasting › [Cardano] Delegate without broadcasting › Sign Delegation Transaction
Retry #2 ───────────────────────────────────────────────────────────────────────────────────────
Error: ElementNotFoundException: Element with text "Register" not found on speculos screen
213 | }
214 |
> 215 | await app.speculos.signDelegationTransaction(account.delegate);
| ^
216 | await app.delegate.verifySuccessMessage();
217 |
218 | if (account.delegate.account.currency.name !== Currency.ADA.name) {
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/speculos/delegate.spec.ts:215:28
|
[speculos_tests] › specs/speculos/add.account.spec.ts:34:9 › Add Accounts › [Solana] Add account:
apps/ledger-live-desktop/tests/specs/speculos/add.account.spec.ts#L48
2) [speculos_tests] › specs/speculos/add.account.spec.ts:34:9 › Add Accounts › [Solana] Add account › Get fist account name
TimeoutError: locator.inputValue: Timeout 120000ms exceeded.
Call log:
- waiting for getByTestId('add-accounts-step-import-accounts-list').locator('input').first()
46 | await app.addAccount.expectModalVisiblity();
47 | await app.addAccount.selectCurrency(currency.currency);
> 48 | firstAccountName = await app.addAccount.getFirstAccountName();
| ^
49 |
50 | await app.addAccount.addAccounts();
51 | await app.addAccount.done();
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/speculos/add.account.spec.ts:48:49
|
[speculos_tests] › specs/speculos/add.account.spec.ts:34:9 › Add Accounts › [Solana] Add account:
apps/ledger-live-desktop/tests/specs/speculos/add.account.spec.ts#L48
2) [speculos_tests] › specs/speculos/add.account.spec.ts:34:9 › Add Accounts › [Solana] Add account › Get fist account name
Retry #1 ───────────────────────────────────────────────────────────────────────────────────────
TimeoutError: locator.inputValue: Timeout 120000ms exceeded.
Call log:
- waiting for getByTestId('add-accounts-step-import-accounts-list').locator('input').first()
46 | await app.addAccount.expectModalVisiblity();
47 | await app.addAccount.selectCurrency(currency.currency);
> 48 | firstAccountName = await app.addAccount.getFirstAccountName();
| ^
49 |
50 | await app.addAccount.addAccounts();
51 | await app.addAccount.done();
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/speculos/add.account.spec.ts:48:49
|
[speculos_tests] › specs/speculos/delegate.spec.ts:117:9 › Delegate › [Solana] Delegate:
apps/ledger-live-desktop/tests/specs/speculos/delegate.spec.ts#L144
3) [speculos_tests] › specs/speculos/delegate.spec.ts:117:9 › Delegate › [Solana] Delegate › Sign Delegation Transaction
Error: ElementNotFoundException: Element with text "Approve" not found on speculos screen
142 | await app.delegate.continue();
143 |
> 144 | await app.speculos.signDelegationTransaction(account.delegate);
| ^
145 | await app.delegate.verifySuccessMessage();
146 | await app.delegate.clickViewDetailsButton();
147 |
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/speculos/delegate.spec.ts:144:28
|
[speculos_tests] › specs/speculos/delegate.spec.ts:350:9 › Select a validator › [Cardano] - Select validator:
apps/ledger-live-desktop/tests/specs/speculos/delegate.spec.ts#L361
4) [speculos_tests] › specs/speculos/delegate.spec.ts:350:9 › Select a validator › [Cardano] - Select validator › Click Stake button
TimeoutError: locator.click: Timeout 120000ms exceeded.
Call log:
- waiting for getByTestId('stake-button')
359 | await app.accounts.navigateToAccountByName(validator.delegate.account.accountName);
360 |
> 361 | await app.account.startStakingFlowFromMainStakeButton();
| ^
362 | await app.delegate.continue();
363 |
364 | await app.delegate.verifyFirstProviderName(validator.delegate.provider);
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/speculos/delegate.spec.ts:361:27
|
Desktop Tests E2E (Ubuntu) (1, 3)
Process completed with exit code 1.
|
[speculos_tests] › specs/speculos/swap.spec.ts:120:9 › Swap - Accepted (without tx broadcast) › Swap Bitcoin to Ethereum:
apps/ledger-live-desktop/tests/specs/speculos/swap.spec.ts#L136
1) [speculos_tests] › specs/speculos/swap.spec.ts:120:9 › Swap - Accepted (without tx broadcast) › Swap Bitcoin to Ethereum › Verify swap completion: Ethereum
Error: Timed out 120000ms waiting for expect(locator).toHaveText(expected)
Locator: getByTestId('swap-completed-message')
Expected string: "Transaction broadcast successfully"
Received: <element(s) not found>
Call log:
- expect.toHaveText with timeout 120000ms
- waiting for getByTestId('swap-completed-message')
134 | await performSwapUntilDeviceVerificationStep(app, electronApp, swap, selectedProvider);
135 | await app.speculos.verifyAmountsAndAcceptSwap(swap);
> 136 | await app.swapDrawer.verifyExchangeCompletedTextContent(swap.accountToCredit.currency.name);
| ^
137 | },
138 | );
139 | });
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/speculos/swap.spec.ts:136:30
|
[speculos_tests] › specs/speculos/swap.spec.ts:120:9 › Swap - Accepted (without tx broadcast) › Swap Tether USD to Ethereum:
apps/ledger-live-desktop/tests/specs/speculos/swap.spec.ts#L426
2) [speculos_tests] › specs/speculos/swap.spec.ts:120:9 › Swap - Accepted (without tx broadcast) › Swap Tether USD to Ethereum › Click Exchange button
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
- waiting for getByRole('button', { name: 'Swap with Changelly' })
- locator resolved to <button disabled font-size="4" variant="main" font-family="Inter" data-testid="execute-button" class="sc-fHjqbK sc-hmdnzv eiTntr sc-dtImxT dfOzJy">…</button>
- attempting click action
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #1
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #2
- waiting 20ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #3
- waiting 100ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #4
- waiting 100ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #5
- waiting 500ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #6
- waiting 500ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #7
- waiting 500ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #8
- waiting 500ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #9
- waiting 500ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #10
- waiting 500ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #11
- waiting 500ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #12
- waiting 500ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #13
- waiting 500ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #14
- waiting 500ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #15
- waiting 500ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #16
- waiting 500ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #17
- waiting 500ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #18
- waiting 500ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #19
- waiting 500ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #20
- waiting 500ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #21
- waiting 500ms
- waiting for element to be visible, enabled and stable
- element is not enabled
- retrying click action, attempt #22
- waiting 500ms
|
[speculos_tests] › specs/speculos/swap.spec.ts:120:9 › Swap - Accepted (without tx broadcast) › Swap Bitcoin to Solana:
apps/ledger-live-desktop/tests/specs/speculos/swap.spec.ts#L136
3) [speculos_tests] › specs/speculos/swap.spec.ts:120:9 › Swap - Accepted (without tx broadcast) › Swap Bitcoin to Solana › Verify swap completion: Solana
Error: Timed out 120000ms waiting for expect(locator).toHaveText(expected)
Locator: getByTestId('swap-completed-message')
Expected string: "Transaction broadcast successfully"
Received: <element(s) not found>
Call log:
- expect.toHaveText with timeout 120000ms
- waiting for getByTestId('swap-completed-message')
134 | await performSwapUntilDeviceVerificationStep(app, electronApp, swap, selectedProvider);
135 | await app.speculos.verifyAmountsAndAcceptSwap(swap);
> 136 | await app.swapDrawer.verifyExchangeCompletedTextContent(swap.accountToCredit.currency.name);
| ^
137 | },
138 | );
139 | });
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/speculos/swap.spec.ts:136:30
|
[speculos_tests] › specs/speculos/swap.spec.ts:120:9 › Swap - Accepted (without tx broadcast) › Swap Solana to Ethereum:
apps/ledger-live-desktop/tests/specs/speculos/swap.spec.ts#L428
4) [speculos_tests] › specs/speculos/swap.spec.ts:120:9 › Swap - Accepted (without tx broadcast) › Swap Solana to Ethereum › Get amount to receive
TimeoutError: locator.textContent: Timeout 120000ms exceeded.
Call log:
- waiting for getByTestId('amountReceived')
426 | await app.swap.clickExchangeButton(electronApp, selectedProvider);
427 |
> 428 | const amountTo = await app.swapDrawer.getAmountToReceive();
| ^
429 | const fees = await app.swapDrawer.getFees();
430 |
431 | swap.setAmountToReceive(amountTo);
at performSwapUntilDeviceVerificationStep (/home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/speculos/swap.spec.ts:428:41)
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/speculos/swap.spec.ts:134:9
|
[speculos_tests] › specs/speculos/swap.spec.ts:220:9 › Swap - with too low amount (throwing UI errors) › Swap too low quote amounts from Tether USD to Ethereum:
apps/ledger-live-desktop/tests/specs/speculos/swap.spec.ts#L237
5) [speculos_tests] › specs/speculos/swap.spec.ts:220:9 › Swap - with too low amount (throwing UI errors) › Swap too low quote amounts from Tether USD to Ethereum › Verify swap amount error message is displayed: Not enough balance.
Error: Timed out 41000ms waiting for expect(locator).toBeVisible()
Locator: getByTestId('number-of-quotes')
Expected: visible
Received: <element(s) not found>
Call log:
- expect.toBeVisible with timeout 41000ms
- waiting for getByTestId('number-of-quotes')
235 | `Minimum \\d+(\\.\\d{1,10})? ${swap.accountToDebit.currency.ticker} needed for quotes\\.\\s*$`,
236 | );
> 237 | await app.swap.verifySwapAmountErrorMessageIsDisplayed(
| ^
238 | electronApp,
239 | swap.accountToDebit,
240 | errorMessage,
at /home/runner/_work/ledger-live/ledger-live/apps/ledger-live-desktop/tests/specs/speculos/swap.spec.ts:237:24
|
🎭 Playwright Run Summary
3 flaky
[speculos_tests] › specs/speculos/receive.address.spec.ts:38:9 › Receive › [Polkadot] Receive ──
[speculos_tests] › specs/speculos/receive.address.spec.ts:38:9 › Receive › [XRP] Receive ───────
[speculos_tests] › specs/speculos/send.tx.spec.ts:252:11 › Send flows › Send from 1 account to another › Send from Tron 1 to Tron 2
50 passed (5.9m)
|
🎭 Playwright Run Summary
1 failed
[speculos_tests] › specs/speculos/delegate.spec.ts:190:9 › Delegate without Broadcasting › [Cardano] Delegate without broadcasting
3 flaky
[speculos_tests] › specs/speculos/add.account.spec.ts:34:9 › Add Accounts › [Solana] Add account
[speculos_tests] › specs/speculos/delegate.spec.ts:117:9 › Delegate › [Solana] Delegate ────────
[speculos_tests] › specs/speculos/delegate.spec.ts:350:9 › Select a validator › [Cardano] - Select validator
49 passed (10.5m)
|
🎭 Playwright Run Summary
5 flaky
[speculos_tests] › specs/speculos/swap.spec.ts:120:9 › Swap - Accepted (without tx broadcast) › Swap Bitcoin to Ethereum
[speculos_tests] › specs/speculos/swap.spec.ts:120:9 › Swap - Accepted (without tx broadcast) › Swap Tether USD to Ethereum
[speculos_tests] › specs/speculos/swap.spec.ts:120:9 › Swap - Accepted (without tx broadcast) › Swap Bitcoin to Solana
[speculos_tests] › specs/speculos/swap.spec.ts:120:9 › Swap - Accepted (without tx broadcast) › Swap Solana to Ethereum
[speculos_tests] › specs/speculos/swap.spec.ts:220:9 › Swap - with too low amount (throwing UI errors) › Swap too low quote amounts from Tether USD to Ethereum
48 passed (12.0m)
|
linux Allure report URL
https://ledger-live.allure.green.ledgerlabs.net/allure/reports/7d787c7d-9165-4172-a611-395e5f613b11/
|
Artifacts
Produced during runtime
Name | Size | |
---|---|---|
allure-results-1
Expired
|
9.46 MB |
|
allure-results-2
Expired
|
1.28 MB |
|
allure-results-3
Expired
|
15 MB |
|