Skip to content

[RI-6570] Playwright E2E tests #4615

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 132 commits into
base: main
Choose a base branch
from
Open

[RI-6570] Playwright E2E tests #4615

wants to merge 132 commits into from

Conversation

KrumTy
Copy link
Collaborator

@KrumTy KrumTy commented Jun 9, 2025

Description

Adds Playwright E2E tests. Also enables CI E2E tests for PRs.
See README.md for more details.

Notes

  • testcafe e2e tests are failing on main and will be fixed in another PR
  • Playwright tests ✅ pass
  • Electron builds can't run in headless mode, hence I've only added the Docker build tests for CI; if we need to, we can include other builds too

Copy link
Contributor

github-actions bot commented Jun 9, 2025

Code Coverage - Integration Tests

Status Category Percentage Covered / Total
🟢 Statements 81.73% 16147/19756
🟡 Branches 64.84% 7293/11247
🟡 Functions 70.88% 2274/3208
🟢 Lines 81.37% 15185/18661

Copy link
Contributor

github-actions bot commented Jun 9, 2025

Code Coverage - Backend unit tests

St.
Category Percentage Covered / Total
🟢 Statements 92.34% 13787/14931
🟡 Branches 74% 4147/5604
🟢 Functions 85.82% 2124/2475
🟢 Lines 92.13% 13180/14306

Test suite run success

2941 tests passing in 286 suites.

Report generated by 🧪jest coverage report action from c01b123

Copy link
Contributor

github-actions bot commented Jun 9, 2025

Code Coverage - Frontend unit tests

St.
Category Percentage Covered / Total
🟢 Statements 81.37% 18403/22616
🟡 Branches 67% 8068/12042
🟡 Functions 75.14% 4867/6477
🟢 Lines 81.76% 18006/22024

Test suite run success

4792 tests passing in 628 suites.

Report generated by 🧪jest coverage report action from c01b123

@KrumTy KrumTy marked this pull request as ready for review June 9, 2025 08:25
@KIvanow
Copy link
Collaborator

KIvanow commented Jun 20, 2025

yarn test:chromium:local-web:debug fails with the eula acceptance. The non-debug run consistently without issues - yarn test:chromium:local-web

@KIvanow
Copy link
Collaborator

KIvanow commented Jun 20, 2025

The electron tests fail with the following on Linux (after updating the path to the built version. Do they work on Mac?

Running 7 tests using 1 worker
[Chromium] › tests/basic-navigation.spec.ts:4:9 › Basic Navigation and Element Visibility › should navigate to the homepage and verify title
2025-06-20T07:25:31.260Z [INFO] Electron Log: info - 10:25:31.258 › [Service Auth] Initializing service auth
2025-06-20T07:25:31.262Z [INFO] Electron Log: info - 10:25:31.259 › [Service Auth] Service auth initialized
2025-06-20T07:25:31.262Z [INFO] Electron Log: info - 10:25:31.259 › [Server] Production server initialized
2025-06-20T07:25:31.262Z [INFO] Electron Log: info - 10:25:31.259 › App starting.....
2025-06-20T07:25:31.274Z [INFO] Electron Log: error - (node:1663270) ExtensionLoadWarning: Warnings loading extension at /home/kristiyan/.config/RedisInsight/extensions/lmhkpmbekcpmknklioeibfkpmmfibljd:
Permission 'notifications' is unknown or URL pattern is malformed.
Permission 'contextMenus' is unknown or URL pattern is malformed.

(Use redisinsight --trace-warnings ... to show where the warning was created)
2025-06-20T07:25:31.275Z [INFO] Electron Log: log - Added Extension: React Developer Tools
2025-06-20T07:25:36.132Z [INFO] Closing Electron app...
[Chromium] › tests/keys.spec.ts:38:9 › Adding Database Keys › Verify that user can add Hash Key
2025-06-20T07:25:37.753Z [INFO] Electron Log: info - 10:25:37.752 › [Service Auth] Initializing service auth
2025-06-20T07:25:37.753Z [INFO] Electron Log: info - 10:25:37.753 › [Service Auth] Service auth initialized
2025-06-20T07:25:37.753Z [INFO] Electron Log: info - 10:25:37.753 › [Server] Production server initialized
2025-06-20T07:25:37.754Z [INFO] Electron Log: info - 10:25:37.753 › App starting.....
2025-06-20T07:25:37.768Z [INFO] Electron Log: error - (node:1663442) ExtensionLoadWarning: Warnings loading extension at /home/kristiyan/.config/RedisInsight/extensions/lmhkpmbekcpmknklioeibfkpmmfibljd:
Permission 'notifications' is unknown or URL pattern is malformed.
Permission 'contextMenus' is unknown or URL pattern is malformed.

(Use redisinsight --trace-warnings ... to show where the warning was created)
2025-06-20T07:25:37.771Z [INFO] Electron Log: log - Added Extension: React Developer Tools
2025-06-20T07:26:13.291Z [INFO] Closing Electron app...

  1. [Chromium] › tests/keys.spec.ts:38:9 › Adding Database Keys › Verify that user can add Hash Key
TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
  - waiting for getByTestId('btn-add-key')
    - locator resolved to <button type="button" data-testid="btn-add-key" class="euiButton euiButton--secondary euiButton--small euiButton--fill _addKey_1jum7_9">…</button>
  - attempting click action
    2 × waiting for element to be visible, enabled and stable
      - element is visible, enabled and stable
      - scrolling into view if needed
      - done scrolling
      - performing click action
      - <span class="euiButtonContent euiButton__content">…</span> from <button type="button" aria-label="bulk actions" data-testid="btn-bulk-actions" class="euiButton euiButton--secondary euiButton--small _bulkActions_1jum7_17">…</button> subtree intercepts pointer events
    - retrying click action
    - waiting 20ms
    2 × waiting for element to be visible, enabled and stable
      - element is visible, enabled and stable
      - scrolling into view if needed
      - done scrolling
      - performing click action
      - <span class="euiButtonContent euiButton__content">…</span> from <button type="button" aria-label="bulk actions" data-testid="btn-bulk-actions" class="euiButton euiButton--secondary euiButton--small _bulkActions_1jum7_17">…</button> subtree intercepts pointer events
    - retrying click action
      - waiting 100ms
    57 × waiting for element to be visible, enabled and stable
       - element is visible, enabled and stable
       - scrolling into view if needed
       - done scrolling
       - performing click action
       - <span class="euiButtonContent euiButton__content">…</span> from <button type="button" aria-label="bulk actions" data-testid="btn-bulk-actions" class="euiButton euiButton--secondary euiButton--small _bulkActions_1jum7_17">…</button> subtree intercepts pointer events
     - retrying click action
       - waiting 500ms


   at ../pageObjects/browser-page.ts:788

  786 |         await this.waitForLocatorNotVisible(this.progressLine)
  787 |         await this.waitForLocatorNotVisible(this.loader)
> 788 |         await this.plusAddKeyButton.click()
      |                                     ^
  789 |         await this.keyTypeDropDown.click()
  790 |         await this.hashOption.click()
  791 |         await this.addKeyNameInput.click()
    at BrowserPage.addHashKey (/home/kristiyan/projects/RedisInsightMainMainMainMain/tests/playwright/pageObjects/browser-page.ts:788:37)
    at /home/kristiyan/projects/RedisInsightMainMainMainMain/tests/playwright/tests/keys.spec.ts:39:9

Error Context: test-results/keys-Adding-Database-Keys-Verify-that-user-can-add-Hash-Key-Chromium/error-context.md

[Chromium] › tests/keys.spec.ts:48:9 › Adding Database Keys › Verify that user can add Set Key
2025-06-20T07:26:15.406Z [INFO] Electron Log: info - 10:26:15.404 › [Service Auth] Initializing service auth
2025-06-20T07:26:15.407Z [INFO] Electron Log: info - 10:26:15.405 › [Service Auth] Service auth initialized
2025-06-20T07:26:15.407Z [INFO] Electron Log: info - 10:26:15.405 › [Server] Production server initialized
2025-06-20T07:26:15.407Z [INFO] Electron Log: info - 10:26:15.405 › App starting.....
2025-06-20T07:26:15.422Z [INFO] Electron Log: error - (node:1663875) ExtensionLoadWarning: Warnings loading extension at /home/kristiyan/.config/RedisInsight/extensions/lmhkpmbekcpmknklioeibfkpmmfibljd:
Permission 'notifications' is unknown or URL pattern is malformed.
Permission 'contextMenus' is unknown or URL pattern is malformed.

(Use redisinsight --trace-warnings ... to show where the warning was created)
2025-06-20T07:26:15.423Z [INFO] Electron Log: log - Added Extension: React Developer Tools
2025-06-20T07:26:51.034Z [INFO] Closing Electron app...
2) [Chromium] › tests/keys.spec.ts:48:9 › Adding Database Keys › Verify that user can add Set Key

TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
  - waiting for getByTestId('btn-add-key')
    - locator resolved to <button type="button" data-testid="btn-add-key" class="euiButton euiButton--secondary euiButton--small euiButton--fill _addKey_1jum7_9">…</button>
  - attempting click action
    2 × waiting for element to be visible, enabled and stable
      - element is visible, enabled and stable
      - scrolling into view if needed
      - done scrolling
      - performing click action
      - <span class="euiButtonContent euiButton__content">…</span> from <button type="button" aria-label="bulk actions" data-testid="btn-bulk-actions" class="euiButton euiButton--secondary euiButton--small _bulkActions_1jum7_17">…</button> subtree intercepts pointer events
    - retrying click action
    - waiting 20ms
    2 × waiting for element to be visible, enabled and stable
      - element is visible, enabled and stable
      - scrolling into view if needed
      - done scrolling
      - performing click action
      - <span class="euiButtonContent euiButton__content">…</span> from <button type="button" aria-label="bulk actions" data-testid="btn-bulk-actions" class="euiButton euiButton--secondary euiButton--small _bulkActions_1jum7_17">…</button> subtree intercepts pointer events
    - retrying click action
      - waiting 100ms
    57 × waiting for element to be visible, enabled and stable
       - element is visible, enabled and stable
       - scrolling into view if needed
       - done scrolling
       - performing click action
       - <span class="euiButtonContent euiButton__content">…</span> from <button type="button" aria-label="bulk actions" data-testid="btn-bulk-actions" class="euiButton euiButton--secondary euiButton--small _bulkActions_1jum7_17">…</button> subtree intercepts pointer events
     - retrying click action
       - waiting 500ms


   at ../pageObjects/browser-page.ts:693

  691 |         await this.waitForLocatorNotVisible(this.progressLine)
  692 |         await this.waitForLocatorNotVisible(this.loader)
> 693 |         await this.plusAddKeyButton.click()
      |                                     ^
  694 |         await this.keyTypeDropDown.click()
  695 |         await this.setOption.click()
  696 |         await this.addKeyNameInput.click()
    at BrowserPage.addSetKey (/home/kristiyan/projects/RedisInsightMainMainMainMain/tests/playwright/pageObjects/browser-page.ts:693:37)
    at /home/kristiyan/projects/RedisInsightMainMainMainMain/tests/playwright/tests/keys.spec.ts:49:9

Error Context: test-results/keys-Adding-Database-Keys-Verify-that-user-can-add-Set-Key-Chromium/error-context.md

[Chromium] › tests/keys.spec.ts:58:9 › Adding Database Keys › Verify that user can add List Key
2025-06-20T07:26:53.190Z [INFO] Electron Log: info - 10:26:53.188 › [Service Auth] Initializing service auth
2025-06-20T07:26:53.192Z [INFO] Electron Log: info - 10:26:53.189 › [Service Auth] Service auth initialized
2025-06-20T07:26:53.192Z [INFO] Electron Log: info - 10:26:53.189 › [Server] Production server initialized
2025-06-20T07:26:53.192Z [INFO] Electron Log: info - 10:26:53.189 › App starting.....
2025-06-20T07:26:53.207Z [INFO] Electron Log: error - (node:1664364) ExtensionLoadWarning: Warnings loading extension at /home/kristiyan/.config/RedisInsight/extensions/lmhkpmbekcpmknklioeibfkpmmfibljd:
Permission 'notifications' is unknown or URL pattern is malformed.
Permission 'contextMenus' is unknown or URL pattern is malformed.

(Use redisinsight --trace-warnings ... to show where the warning was created)
2025-06-20T07:26:53.210Z [INFO] Electron Log: log - Added Extension: React Developer Tools
2025-06-20T07:27:28.654Z [INFO] Closing Electron app...
3) [Chromium] › tests/keys.spec.ts:58:9 › Adding Database Keys › Verify that user can add List Key

TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
  - waiting for getByTestId('btn-add-key')
    - locator resolved to <button type="button" data-testid="btn-add-key" class="euiButton euiButton--secondary euiButton--small euiButton--fill _addKey_1jum7_9">…</button>
  - attempting click action
    2 × waiting for element to be visible, enabled and stable
      - element is visible, enabled and stable
      - scrolling into view if needed
      - done scrolling
      - performing click action
      - <span class="euiButtonContent euiButton__content">…</span> from <button type="button" aria-label="bulk actions" data-testid="btn-bulk-actions" class="euiButton euiButton--secondary euiButton--small _bulkActions_1jum7_17">…</button> subtree intercepts pointer events
    - retrying click action
    - waiting 20ms
    2 × waiting for element to be visible, enabled and stable
      - element is visible, enabled and stable
      - scrolling into view if needed
      - done scrolling
      - performing click action
      - <span class="euiButtonContent euiButton__content">…</span> from <button type="button" aria-label="bulk actions" data-testid="btn-bulk-actions" class="euiButton euiButton--secondary euiButton--small _bulkActions_1jum7_17">…</button> subtree intercepts pointer events
    - retrying click action
      - waiting 100ms
    57 × waiting for element to be visible, enabled and stable
       - element is visible, enabled and stable
       - scrolling into view if needed
       - done scrolling
       - performing click action
       - <span class="euiButtonContent euiButton__content">…</span> from <button type="button" aria-label="bulk actions" data-testid="btn-bulk-actions" class="euiButton euiButton--secondary euiButton--small _bulkActions_1jum7_17">…</button> subtree intercepts pointer events
     - retrying click action
       - waiting 500ms


   at ../pageObjects/browser-page.ts:748

  746 |         await this.waitForLocatorNotVisible(this.progressLine)
  747 |         await this.waitForLocatorNotVisible(this.loader)
> 748 |         await this.plusAddKeyButton.click()
      |                                     ^
  749 |         await this.keyTypeDropDown.click()
  750 |         await this.listOption.click()
  751 |         await this.addKeyNameInput.click()
    at BrowserPage.addListKey (/home/kristiyan/projects/RedisInsightMainMainMainMain/tests/playwright/pageObjects/browser-page.ts:748:37)
    at /home/kristiyan/projects/RedisInsightMainMainMainMain/tests/playwright/tests/keys.spec.ts:59:9

Error Context: test-results/keys-Adding-Database-Keys-Verify-that-user-can-add-List-Key-Chromium/error-context.md

[Chromium] › tests/keys.spec.ts:68:9 › Adding Database Keys › Verify that user can add String Key
2025-06-20T07:27:30.849Z [INFO] Electron Log: info - 10:27:30.847 › [Service Auth] Initializing service auth
2025-06-20T07:27:30.850Z [INFO] Electron Log: info - 10:27:30.847 › [Service Auth] Service auth initialized
2025-06-20T07:27:30.851Z [INFO] Electron Log: info - 10:27:30.848 › [Server] Production server initialized
2025-06-20T07:27:30.851Z [INFO] Electron Log: info - 10:27:30.848 › App starting.....
2025-06-20T07:27:30.863Z [INFO] Electron Log: error - (node:1664850) ExtensionLoadWarning: Warnings loading extension at /home/kristiyan/.config/RedisInsight/extensions/lmhkpmbekcpmknklioeibfkpmmfibljd:
Permission 'notifications' is unknown or URL pattern is malformed.
Permission 'contextMenus' is unknown or URL pattern is malformed.

(Use redisinsight --trace-warnings ... to show where the warning was created)
2025-06-20T07:27:30.865Z [INFO] Electron Log: log - Added Extension: React Developer Tools
2025-06-20T07:28:06.470Z [INFO] Closing Electron app...
4) [Chromium] › tests/keys.spec.ts:68:9 › Adding Database Keys › Verify that user can add String Key

TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
  - waiting for getByTestId('btn-add-key')
    - locator resolved to <button type="button" data-testid="btn-add-key" class="euiButton euiButton--secondary euiButton--small euiButton--fill _addKey_1jum7_9">…</button>
  - attempting click action
    2 × waiting for element to be visible, enabled and stable
      - element is visible, enabled and stable
      - scrolling into view if needed
      - done scrolling
      - performing click action
      - <span class="euiButtonContent euiButton__content">…</span> from <button type="button" aria-label="bulk actions" data-testid="btn-bulk-actions" class="euiButton euiButton--secondary euiButton--small _bulkActions_1jum7_17">…</button> subtree intercepts pointer events
    - retrying click action
    - waiting 20ms
    2 × waiting for element to be visible, enabled and stable
      - element is visible, enabled and stable
      - scrolling into view if needed
      - done scrolling
      - performing click action
      - <span class="euiButtonContent euiButton__content">…</span> from <button type="button" aria-label="bulk actions" data-testid="btn-bulk-actions" class="euiButton euiButton--secondary euiButton--small _bulkActions_1jum7_17">…</button> subtree intercepts pointer events
    - retrying click action
      - waiting 100ms
    57 × waiting for element to be visible, enabled and stable
       - element is visible, enabled and stable
       - scrolling into view if needed
       - done scrolling
       - performing click action
       - <span class="euiButtonContent euiButton__content">…</span> from <button type="button" aria-label="bulk actions" data-testid="btn-bulk-actions" class="euiButton euiButton--secondary euiButton--small _bulkActions_1jum7_17">…</button> subtree intercepts pointer events
     - retrying click action
       - waiting 500ms


   at ../pageObjects/browser-page.ts:644

  642 |         TTL?: string,
  643 |     ): Promise<void> {
> 644 |         await this.plusAddKeyButton.click()
      |                                     ^
  645 |         await this.keyTypeDropDown.click()
  646 |         await this.stringOption.click()
  647 |         await this.addKeyNameInput.click()
    at BrowserPage.addStringKey (/home/kristiyan/projects/RedisInsightMainMainMainMain/tests/playwright/pageObjects/browser-page.ts:644:37)
    at /home/kristiyan/projects/RedisInsightMainMainMainMain/tests/playwright/tests/keys.spec.ts:69:27

Error Context: test-results/keys-Adding-Database-Keys--c031e-hat-user-can-add-String-Key-Chromium/error-context.md

[Chromium] › tests/keys.spec.ts:78:9 › Adding Database Keys › Verify that user can add ZSet Key
2025-06-20T07:28:08.744Z [INFO] Electron Log: info - 10:28:08.743 › [Service Auth] Initializing service auth
2025-06-20T07:28:08.745Z [INFO] Electron Log: info - 10:28:08.743 › [Service Auth] Service auth initialized
2025-06-20T07:28:08.745Z [INFO] Electron Log: info - 10:28:08.743 › [Server] Production server initialized
2025-06-20T07:28:08.745Z [INFO] Electron Log: info - 10:28:08.744 › App starting.....
2025-06-20T07:28:08.762Z [INFO] Electron Log: error - (node:1665345) ExtensionLoadWarning: Warnings loading extension at /home/kristiyan/.config/RedisInsight/extensions/lmhkpmbekcpmknklioeibfkpmmfibljd:
Permission 'notifications' is unknown or URL pattern is malformed.
Permission 'contextMenus' is unknown or URL pattern is malformed.

(Use redisinsight --trace-warnings ... to show where the warning was created)
2025-06-20T07:28:08.763Z [INFO] Electron Log: log - Added Extension: React Developer Tools
2025-06-20T07:28:44.292Z [INFO] Closing Electron app...
5) [Chromium] › tests/keys.spec.ts:78:9 › Adding Database Keys › Verify that user can add ZSet Key

TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
  - waiting for getByTestId('btn-add-key')
    - locator resolved to <button type="button" data-testid="btn-add-key" class="euiButton euiButton--secondary euiButton--small euiButton--fill _addKey_1jum7_9">…</button>
  - attempting click action
    2 × waiting for element to be visible, enabled and stable
      - element is visible, enabled and stable
      - scrolling into view if needed
      - done scrolling
      - performing click action
      - <span class="euiButtonContent euiButton__content">…</span> from <button type="button" aria-label="bulk actions" data-testid="btn-bulk-actions" class="euiButton euiButton--secondary euiButton--small _bulkActions_1jum7_17">…</button> subtree intercepts pointer events
    - retrying click action
    - waiting 20ms
    2 × waiting for element to be visible, enabled and stable
      - element is visible, enabled and stable
      - scrolling into view if needed
      - done scrolling
      - performing click action
      - <span class="euiButtonContent euiButton__content">…</span> from <button type="button" aria-label="bulk actions" data-testid="btn-bulk-actions" class="euiButton euiButton--secondary euiButton--small _bulkActions_1jum7_17">…</button> subtree intercepts pointer events
    - retrying click action
      - waiting 100ms
    57 × waiting for element to be visible, enabled and stable
       - element is visible, enabled and stable
       - scrolling into view if needed
       - done scrolling
       - performing click action
       - <span class="euiButtonContent euiButton__content">…</span> from <button type="button" aria-label="bulk actions" data-testid="btn-bulk-actions" class="euiButton euiButton--secondary euiButton--small _bulkActions_1jum7_17">…</button> subtree intercepts pointer events
     - retrying click action
       - waiting 500ms


   at ../pageObjects/browser-page.ts:719

  717 |         await this.waitForLocatorNotVisible(this.progressLine)
  718 |         await this.waitForLocatorNotVisible(this.loader)
> 719 |         await this.plusAddKeyButton.click()
      |                                     ^
  720 |         await this.keyTypeDropDown.click()
  721 |         await this.zsetOption.click()
  722 |         await this.addKeyNameInput.click()
    at BrowserPage.addZSetKey (/home/kristiyan/projects/RedisInsightMainMainMainMain/tests/playwright/pageObjects/browser-page.ts:719:37)
    at /home/kristiyan/projects/RedisInsightMainMainMainMain/tests/playwright/tests/keys.spec.ts:80:9

Error Context: test-results/keys-Adding-Database-Keys-Verify-that-user-can-add-ZSet-Key-Chromium/error-context.md

[Chromium] › tests/keys.spec.ts:89:9 › Adding Database Keys › Verify that user can add Stream key
2025-06-20T07:28:46.433Z [INFO] Electron Log: info - 10:28:46.432 › [Service Auth] Initializing service auth
2025-06-20T07:28:46.435Z [INFO] Electron Log: info - 10:28:46.432 › [Service Auth] Service auth initialized
2025-06-20T07:28:46.435Z [INFO] Electron Log: info - 10:28:46.433 › [Server] Production server initialized
2025-06-20T07:28:46.435Z [INFO] Electron Log: info - 10:28:46.433 › App starting.....
2025-06-20T07:28:46.449Z [INFO] Electron Log: error - (node:1665819) ExtensionLoadWarning: Warnings loading extension at /home/kristiyan/.config/RedisInsight/extensions/lmhkpmbekcpmknklioeibfkpmmfibljd:
Permission 'notifications' is unknown or URL pattern is malformed.
Permission 'contextMenus' is unknown or URL pattern is malformed.

(Use redisinsight --trace-warnings ... to show where the warning was created)
2025-06-20T07:28:46.450Z [INFO] Electron Log: log - Added Extension: React Developer Tools
2025-06-20T07:29:21.987Z [INFO] Closing Electron app...
6) [Chromium] › tests/keys.spec.ts:89:9 › Adding Database Keys › Verify that user can add Stream key

TimeoutError: locator.click: Timeout 30000ms exceeded.
Call log:
  - waiting for getByTestId('btn-add-key')
    - locator resolved to <button type="button" data-testid="btn-add-key" class="euiButton euiButton--secondary euiButton--small euiButton--fill _addKey_1jum7_9">…</button>
  - attempting click action
    2 × waiting for element to be visible, enabled and stable
      - element is visible, enabled and stable
      - scrolling into view if needed
      - done scrolling
      - performing click action
      - <span class="euiButtonContent euiButton__content">…</span> from <button type="button" aria-label="bulk actions" data-testid="btn-bulk-actions" class="euiButton euiButton--secondary euiButton--small _bulkActions_1jum7_17">…</button> subtree intercepts pointer events
    - retrying click action
    - waiting 20ms
    2 × waiting for element to be visible, enabled and stable
      - element is visible, enabled and stable
      - scrolling into view if needed
      - done scrolling
      - performing click action
      - <span class="euiButtonContent euiButton__content">…</span> from <button type="button" aria-label="bulk actions" data-testid="btn-bulk-actions" class="euiButton euiButton--secondary euiButton--small _bulkActions_1jum7_17">…</button> subtree intercepts pointer events
    - retrying click action
      - waiting 100ms
    57 × waiting for element to be visible, enabled and stable
       - element is visible, enabled and stable
       - scrolling into view if needed
       - done scrolling
       - performing click action
       - <span class="euiButtonContent euiButton__content">…</span> from <button type="button" aria-label="bulk actions" data-testid="btn-bulk-actions" class="euiButton euiButton--secondary euiButton--small _bulkActions_1jum7_17">…</button> subtree intercepts pointer events
     - retrying click action
       - waiting 500ms


   at ../pageObjects/browser-page.ts:626

  624 |         await this.waitForLocatorNotVisible(this.progressLine)
  625 |         await this.waitForLocatorNotVisible(this.loader)
> 626 |         await this.plusAddKeyButton.click()
      |                                     ^
  627 |         await this.addKeyNameInput.click()
  628 |         await this.addKeyNameInput.fill(keyName, {
  629 |             timeout: 0,
    at BrowserPage.commonAddNewKey (/home/kristiyan/projects/RedisInsightMainMainMainMain/tests/playwright/pageObjects/browser-page.ts:626:37)
    at BrowserPage.addStreamKey (/home/kristiyan/projects/RedisInsightMainMainMainMain/tests/playwright/pageObjects/browser-page.ts:822:9)
    at /home/kristiyan/projects/RedisInsightMainMainMainMain/tests/playwright/tests/keys.spec.ts:93:9

Error Context: test-results/keys-Adding-Database-Keys--a6b3e-hat-user-can-add-Stream-key-Chromium/error-context.md

6 failed
[Chromium] › tests/keys.spec.ts:38:9 › Adding Database Keys › Verify that user can add Hash Key
[Chromium] › tests/keys.spec.ts:48:9 › Adding Database Keys › Verify that user can add Set Key ─
[Chromium] › tests/keys.spec.ts:58:9 › Adding Database Keys › Verify that user can add List Key
[Chromium] › tests/keys.spec.ts:68:9 › Adding Database Keys › Verify that user can add String Key
[Chromium] › tests/keys.spec.ts:78:9 › Adding Database Keys › Verify that user can add ZSet Key
[Chromium] › tests/keys.spec.ts:89:9 › Adding Database Keys › Verify that user can add Stream key
1 passed (3.9m)

Serving HTML report at http://localhost:37641. Press Ctrl+C to quit.

@@ -6,3 +6,4 @@ RI_NOTIFICATION_UPDATE_URL=https://s3.amazonaws.com/redisinsight.test/public/tes
RI_NOTIFICATION_SYNC_INTERVAL=30000
RI_FEATURES_CONFIG_URL=http://static-server:5551/remote/features-config.json
RI_FEATURES_CONFIG_SYNC_INTERVAL=50000
TEST_BIG_DB_DUMP=https://s3.amazonaws.com/redisinsight.test/public/rte/dump/big/dump.tar.gz
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a bit odd that we have an .env file committed in the repo, but yeah - this file was here before your PR.

Still, I believe it's better to keep these configs as environment variables - maybe we can offload it as a separate tech debt and take a look later?

@@ -0,0 +1,130 @@
/* eslint-disable max-len */
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why is this necessary, or is it a leftover from some tests?

"generateAndShowReports": "allure serve allure-results",
"test:autogen": "playwright codegen"
},
"dependencies": {
Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I see playwright itself is not part of the dependencies list, is that intentional?
I'm asking because I had issues going through the README instructions. I had to manually add it as a global dependency in order to run the following commands:

yarn playwright install
sudo yarn playwright install-deps

So maybe we should add playwright to this list?

Copy link
Collaborator Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think playwright along with it's browsers need to be installed globally
in their setup guide and test project "playwright" is not included as dependency either

Copy link
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I looked through the official Playwright docs and a few example projects provided by Microsoft, and I think we should at least include @playwright/test as a dev dependency. Installing it globally without listing it in package.json can lead to version mismatches between CI and local dev environments, which could cause flaky or inconsistent test results at some point in the future.

So even if we decide to go with a global install for now, I'd suggest at least documenting that in the README to make it clear for everyone. That way, we avoid confusion if we have it explicitly listed in the prerequisite steps.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants