mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-05 16:10:43 +00:00
4c080dfd5fdd17cb0e01ddcbb95e6900172e138e
11
Commits
| Author | SHA1 | Message | Date | |
|---|---|---|---|---|
|
|
3bdf5cb210 |
test: resolve E2E test timeouts by replacing networkidle with deterministic waits (#10211)
## Summary This PR fixes flaky E2E tests by replacing unreliable `networkidle` waits and hard-coded timeouts with deterministic waiting strategies. ### Changes Made #### 1. Replace `networkidle` with `domcontentloaded` + explicit waits - `networkidle` waits for zero network activity for 500ms, which times out in SPAs with persistent connections (WebSockets, polling, telemetry) - Replaced with `domcontentloaded` plus explicit element/URL waits #### 2. Replace hard-coded `waitForTimeout` with `waitForResponse` - `alerts-incidents-tabs.spec.js`: Use `waitForResponse` for `/config` API instead of `waitForTimeout(2000)` - `logs-regression.spec.js`: Use `waitForResponse` for `/streams` API instead of `waitForTimeout(3000)` #### 3. Fix Alerts/Incidents menu visibility timing - Increased timeout for incidents menu item (depends on `service_graph_enabled` from config API) - Added `waitFor` pattern before expect assertions in `alertsPage.js` - Use `waitForResponse` for search API after page refresh #### 4. Enable parallel test execution - Enable parallel mode in `ui-regression.spec.js` - Use unique stream names (with timestamp) to avoid test conflicts ## Files Changed | File | Changes | |------|---------| | `logs-regression.spec.js` | Replace networkidle → domcontentloaded, waitForTimeout → waitForResponse | | `ui-regression.spec.js` | Enable parallel mode, use waitForURL for navigation | | `alerts-incidents-tabs.spec.js` | Replace networkidle → domcontentloaded, waitForTimeout → waitForResponse | | `alertsPage.js` | Improve menu visibility waits, replace networkidle with domcontentloaded | ## Fixes - Alerts E2E test timeouts waiting for incidents menu item - logs-regression.spec.js: #9388 saved views, #9475 apostrophes - ui-regression.spec.js: #9325 header navigation, #9565 org_identifier ## Test Plan - [x] All alerts-incidents-tabs tests pass locally (3 passed, 2 skipped) - [x] logs-regression tests pass locally - [x] ui-regression tests pass locally - [x] Tests run in parallel successfully --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> |
||
|
|
bb765e6b7b |
test: add regression bug tests (#10132)
### **User description** - Add logs-regression-bugs.spec.js for core logs page bugs (#9996, #9796, #9533, #8928) - Change logs-regression-bugs from serial to parallel mode for faster execution - Add try/catch resilience for apostrophe test (Bug #9475) - Add graceful skip for auto-refresh test when button disabled (Bug #9877) - Fix networkidle timeout in pipeline preview test (Bug #9498) - Add test.skip() pattern for OpenAPI test (Bug #9308) - Fix hoverOnFieldExpandButton logic bug in logsPage.js - Add isLiveMode5SecEnabled() and getPageContent() POM methods - Add stream details methods to streamsPage.js - Add pipeline regression methods to pipelinesPage.js 🤖 Generated with [Claude Code](https://claude.com/claude-code) ___ ### **PR Type** Tests, Enhancement ___ ### **Description** - Enhance POM with robust waits and new regression methods - Add comprehensive logs regression tests for bugs #9996, #9796, #9533, #8928 - Introduce VRL-specific tests (saved views #9690, icon absence #9550) - Add pipeline and streams regression tests (#9354, #9498, #10029) ___ <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><details><summary>3 files</summary><table> <tr> <td><strong>logsPage.js</strong><dd><code>Add robust wait and regression POM methods</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10132/files#diff-8045b343491d8943869c1af74cdafab204dc49c02a70294417e73f47d35e0b59">+115/-4</a> </td> </tr> <tr> <td><strong>pipelinesPage.js</strong><dd><code>Add regression POM methods for pipeline interactions</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10132/files#diff-d5f2771fd1139c174c46d09a9ab2da0ea4588b853e2b87e4728322d072542f49">+105/-0</a> </td> </tr> <tr> <td><strong>streamsPage.js</strong><dd><code>Add regression POM methods for streams interactions</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10132/files#diff-792df584eb1625d35fd1e33a5a37aa3ada28f15ec1e77a1921f1c56e50bf70d2">+61/-0</a> </td> </tr> </table></details></td></tr><tr><td><strong>Tests</strong></td><td><details><summary>10 files</summary><table> <tr> <td><strong>enrichment-table-url.spec.js</strong><dd><code>Add enrichment table search and CSV tests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10132/files#diff-faa0d1fc147a442b9738f5287bb60e22ddf44bae8568f7aeb6cfba0a267d138b">+116/-0</a> </td> </tr> <tr> <td><strong>logspage.spec.js</strong><dd><code>Add VRL saved view regression test</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10132/files#diff-b1a64252adae01c5e8f7e758e3c820f5476260f60c44a4a57b4f15a05a59a85a">+172/-0</a> </td> </tr> <tr> <td><strong>logstable.spec.js</strong><dd><code>Add VRL include/exclude icon regression test</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10132/files#diff-4d69d08f317ffc4a26179c74da0418c4db4184ce5f4f96a8df70af7a5a02008c">+119/-7</a> </td> </tr> <tr> <td><strong>pipeline-core.spec.js</strong><dd><code>Add VRL function node pipeline test</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10132/files#diff-3e57cb10518ffdfd480b0d5ec65db1fcee8419e9093ac0777ebabed4fccf2246">+75/-0</a> </td> </tr> <tr> <td><strong>pipelines.spec.js</strong><dd><code>Add pipeline enable/disable toggle test</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10132/files#diff-948dbdd764f739f3a4bcbb8c643ec4721e08695031bd9791040d68f7df842aee">+91/-0</a> </td> </tr> <tr> <td><strong>logs-regression-bugs.spec.js</strong><dd><code>Create logs regression bug fix spec</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10132/files#diff-c53c1c43378b285365467bf61d779983eae7d287f2ad18265db590270ed6ff6c">+214/-0</a> </td> </tr> <tr> <td><strong>logs-regression.spec.js</strong><dd><code>Enhance apostrophe and auto-refresh regression tests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10132/files#diff-99da86ede55fa5f2e3d3fbef897ba7aaa5a7db702a0135f66ac4c888fc7311b6">+36/-11</a> </td> </tr> <tr> <td><strong>pipeline-regression.spec.js</strong><dd><code>Extend pipeline regression tests for preview and backfill</code></dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10132/files#diff-6dd04b750c40b11abea987a130c1af35d7c89b74c303a2ad49207df5fe3a37e3">+146/-0</a> </td> </tr> <tr> <td><strong>streams-regression.spec.js</strong><dd><code>Add FTS auto-add streams regression test</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10132/files#diff-1c2aad49737186272645ea4cf0f7e3080e28d0c4d8585b3d07edc1889368591d">+39/-0</a> </td> </tr> <tr> <td><strong>ui-regression.spec.js</strong><dd><code>Enhance UI regression tests and skip logic</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/10132/files#diff-8ade144a0a63d887d5c6c9070c250dac9360925be9e6e5145ea4a0f43ceb2fdf">+116/-35</a></td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: Claude <noreply@anthropic.com> |
||
|
|
cb0855360b |
test: add E2E automation for Bug #9967 - PromQL alert creation (#9995)
### **User description** ## Summary Adds comprehensive E2E automation tests for Bug #9967 (cannot save alert when selecting PromQL mode for metrics streams). ### Test Coverage **Test 1: Comprehensive PromQL alert creation validation (P0/P1)** - Verifies PromQL tab visibility for metrics streams - Validates "Trigger if the value is" condition row appears in Step 4 - Tests operator dropdown and value input visibility - Verifies mode switching clears PromQL condition when switching to Custom - Creates and saves alerts with different operators (`>=`, `<=`) **Test 2: Loading existing PromQL alert (P2)** - Creates a PromQL alert via API - Opens alert for editing - Verifies PromQL condition fields load correctly in edit mode ### Files Changed | File | Description | |------|-------------| | `tests/ui-testing/playwright-tests/RegressionSet/alerts-regression.spec.js` | New test file with 2 comprehensive tests | | `tests/ui-testing/pages/alertsPages/alertsPage.js` | Added 20+ POM methods for PromQL alert testing | | `tests/ui-testing/pages/alertsPages/alertCreationWizard.js` | Fixed stream selection retry logic | | `tests/ui-testing/playwright-tests/cleanup.spec.js` | Added `e2e_promql_` cleanup patterns | ### New Page Object Methods - `clickAddAlertButton()`, `fillAlertName()`, `selectStreamType()`, `selectMetricsStream()` - `selectScheduledAlertType()`, `clickContinueButton()`, `clickBackButton()` - `expectPromqlTabVisible()`, `clickPromqlTab()`, `expectCustomTabVisible()`, `expectSqlTabVisible()` - `expectPromqlConditionRowVisible()`, `expectPromqlConditionRowNotVisible()` - `expectOperatorDropdownVisible()`, `expectValueInputVisible()`, `getPromqlConditionValue()` - `clickStepIndicator()`, `expectAlertRowVisible()`, `clickAlertUpdateButton()` ## Test plan - [x] Tests pass locally with `npx playwright test playwright-tests/RegressionSet/alerts-regression.spec.js` - [x] Code passes Sentinel audit (Page Object Model compliance) - [ ] CI pipeline passes ## Related - Fixes #9967 - Related PR #9970 (fix implementation) ___ ### **PR Type** Enhancement, Tests ___ ### **Description** - Add PromQL trigger condition support - Initialize and clear `promql_condition` logic - Include `promql_condition` in payload builder - Add unit and E2E tests for PromQL ___ ### Diagram Walkthrough ```mermaid flowchart LR Settings["AlertSettings.vue: PromQL input"] Component["AddAlert.vue: init and clear promql_condition"] Payload["AddAlert.vue: include/clear promql_condition"] UnitTests["AddAlert.spec.ts: PromQL unit tests"] E2ETests["alerts-regression.spec.js: PromQL E2E tests"] Settings --> Component Component --> Payload Payload --> UnitTests Payload --> E2ETests ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Tests</strong></td><td><details><summary>5 files</summary><table> <tr> <td><strong>AddAlert.spec.ts</strong><dd><code>Add unit tests for PromQL conditions</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9995/files#diff-84362398fea8abd9acf30f4f40ba8d4cf27348677454017bd4e6f568d5176ac6">+397/-0</a> </td> </tr> <tr> <td><strong>alertCreationWizard.js</strong><dd><code>E2E method for PromQL alert creation</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9995/files#diff-3b0a08b55d132502596d17c9d5f197de6d4779684de96ce570282e2402942e2e">+239/-0</a> </td> </tr> <tr> <td><strong>alertsPage.js</strong><dd><code>Add POM methods for PromQL tests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9995/files#diff-79ee01d6d7f145f19207b93b87143b545a1188cfc6a82bc8c45fecfbf68f8a1d">+243/-0</a> </td> </tr> <tr> <td><strong>alerts-regression.spec.js</strong><dd><code>Add comprehensive PromQL E2E tests</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9995/files#diff-123b8d960345fd76542aa75316be70b7d8fe088b4ba59127f14ddb53f5b52d8a">+562/-0</a> </td> </tr> <tr> <td><strong>cleanup.spec.js</strong><dd><code>Extend cleanup for PromQL test prefixes</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9995/files#diff-c214275a512fa285a7e4f2ab61dfcb42d71a0436b0e4241f94d7b45693587983">+4/-2</a> </td> </tr> </table></details></td></tr><tr><td><strong>Enhancement</strong></td><td><details><summary>2 files</summary><table> <tr> <td><strong>AddAlert.vue</strong><dd><code>Initialize and handle `promql_condition` logic</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9995/files#diff-7b426bb23e9ed0250c3877d6d97b099c42b2d20e22ddf4459915381b2233a0a8">+27/-0</a> </td> </tr> <tr> <td><strong>AlertSettings.vue</strong><dd><code>Add PromQL condition input and validation</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9995/files#diff-1d5bfd6a1ea672884193649b1271d751d6f3b8ec84af759071c9bfd169a8ab28">+111/-7</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: sai nikhil kethe <nikhil@openobserve.ai> Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com> |
||
|
|
b3f79b6727 |
test: add bug regression tests to RegressionSet suite (#9899)
### **User description** Added automated tests for 4 verified bug fixes to the regression test suite: Bug Tests Added: - Bug #8349 (P1): SQL _timestamp alias rejection validation - Bug #7468 (P1): Multi-stream ellipsis with tooltip display - Bug #9475 (P1): Apostrophes/special characters without truncation - Bug #9877 (P0): Auto refresh time range updates Changes: - Added 3 bug tests to logs-regression.spec.js (#8349, #9475, #9877) - Added 1 bug test to streams-regression.spec.js (#7468) - Added 7 new POM methods to logsPage.js for stream display and tooltip handling - Removed duplicate tests from original locations (logspage.spec.js, logsqueries.spec.js) Test Results: - All 4 tests passing in sequential execution (3.4m total) - Bug #8349: 26s | Bug #7468: 56s | Bug #9475: 53s | Bug #9877: 40s POM Improvements: - getStreamDisplayElement(), expectStreamDisplayVisible() - getStreamDisplayText(), getStreamDisplayStyles() - hoverStreamDisplay(), isTooltipVisible(), getTooltipText() - Increased getLogsTableContent() timeout to 30s GitHub Issues: - https://github.com/openobserve/openobserve/issues/8349 - https://github.com/openobserve/openobserve/issues/7468 - https://github.com/openobserve/openobserve/issues/9475 - https://github.com/openobserve/openobserve/issues/9877 🤖 Generated with Claude Code ___ ### **PR Type** Tests ___ ### **Description** - Added regression tests for four bug fixes - Enhanced logsPage.js with stream POM methods - Cleaned up whitespace in log spec files - Increased table locator timeout in logsPage.js ___ ### Diagram Walkthrough ```mermaid flowchart LR POM["logsPage.js POM enhancements"] LogsReg["logs-regression.spec.js tests"] StreamsReg["streams-regression.spec.js tests"] POM -- "used in tests" --> LogsReg POM -- "used in tests" --> StreamsReg ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table> <tr> <td> <details> <summary><strong>logsPage.js</strong><dd><code>Add multi-stream POM and tooltip methods</code> </dd></summary> <hr> tests/ui-testing/pages/logsPages/logsPage.js <ul><li>Increased <code>getLogsTableContent</code> timeout to 30s<br> <li> Added stream display methods for multi-stream tests<br> <li> Implemented tooltip helper methods</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9899/files#diff-8045b343491d8943869c1af74cdafab204dc49c02a70294417e73f47d35e0b59">+46/-1</a> </td> </tr> </table></td></tr><tr><td><strong>Formatting</strong></td><td><table> <tr> <td> <details> <summary><strong>logspage.spec.js</strong><dd><code>Whitespace cleanup in logspage spec</code> </dd></summary> <hr> tests/ui-testing/playwright-tests/Logs/logspage.spec.js - Removed extraneous whitespace </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9899/files#diff-b1a64252adae01c5e8f7e758e3c820f5476260f60c44a4a57b4f15a05a59a85a">+1/-1</a> </td> </tr> <tr> <td> <details> <summary><strong>logsqueries.spec.js</strong><dd><code>Whitespace cleanup in logsqueries spec</code> </dd></summary> <hr> tests/ui-testing/playwright-tests/Logs/logsqueries.spec.js - Removed extraneous whitespace </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9899/files#diff-c2055f6cef1580b15c5f94f5c8c2e496a6e921332b48bad943bb7c0630846a65">+16/-16</a> </td> </tr> </table></td></tr><tr><td><strong>Tests</strong></td><td><table> <tr> <td> <details> <summary><strong>logs-regression.spec.js</strong><dd><code>Add logs regression tests for bugs</code> </dd></summary> <hr> tests/ui-testing/playwright-tests/RegressionSet/logs-regression.spec.js <ul><li>Added test for SQL <code>_timestamp</code> alias rejection<br> <li> Added apostrophes display regression tests<br> <li> Added auto-refresh time range regression test</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9899/files#diff-99da86ede55fa5f2e3d3fbef897ba7aaa5a7db702a0135f66ac4c888fc7311b6">+355/-0</a> </td> </tr> <tr> <td> <details> <summary><strong>streams-regression.spec.js</strong><dd><code>Add multi-stream ellipsis tooltip tests</code> </dd></summary> <hr> tests/ui-testing/playwright-tests/RegressionSet/streams-regression.spec.js <ul><li>Added regression test for multi-stream ellipsis tooltip (Bug #7468)<br> <li> Implemented helper functions for stream ingestion</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9899/files#diff-1c2aad49737186272645ea4cf0f7e3080e28d0c4d8585b3d07edc1889368591d">+166/-0</a> </td> </tr> </table></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: Claude <noreply@anthropic.com> Co-authored-by: Shrinath Rao <shnath@openobserve.ai> Co-authored-by: github-actions[bot] <github-actions[bot]@users.noreply.github.com> |
||
|
|
d8c08e7b68 |
test(e2e): add automation for bugs #9217, #9724, #9901 and Feature #9484 (#9883)
## Summary E2E test automation for multiple bug fixes and features: - Bug #9217 (Favicon missing) - Bug #9724 (Log detail sidebar default tab) - Bug #9901 (Scheduled pipeline validation) - includes cherry-picked fixes - Feature #9484 (Manual Alert Trigger via UI) --- ## Bug Fixes Automated ### Bug #9217 - Favicon icon missing on main branch - **Issue:** https://github.com/openobserve/openobserve/issues/9217 - **Fix PR:** https://github.com/openobserve/openobserve/pull/9189 - **Test:** Verifies favicon is present in DOM and loads via HTTP 200 - **Location:** `tests/ui-testing/playwright-tests/RegressionSet/ui-regression.spec.js` ### Bug #9724 - Log detail sidebar opens with JSON tab by default - **Issue:** https://github.com/openobserve/openobserve/issues/9724 - **Fix PR:** https://github.com/openobserve/openobserve/pull/9703 - **Test:** Verifies JSON tab is selected by default when opening log detail sidebar - **Location:** `tests/ui-testing/playwright-tests/RegressionSet/logs-regression.spec.js` ### Bug #9901 - Scheduled pipeline not validating on selected stream type - **Issue:** https://github.com/openobserve/openobserve/issues/9901 - **Fix PR:** https://github.com/openobserve/openobserve/pull/9897 (cherry-picked) - **Tests:** 4 regression tests covering: 1. Metrics stream type validation (not hardcoded "logs") 2. Traces stream type validation (not hardcoded "logs") 3. Quick click on "Validate and Close" without blur interference 4. Quick click on "Cancel" without blur interference - **Location:** `tests/ui-testing/playwright-tests/RegressionSet/pipeline-regression.spec.js` **Cherry-picked fixes from PR #9897:** - `f2a211cf2`: Use selected stream type for validating SQL query - `b1bf7e658`: Add @mousedown.prevent to prevent blur/click race condition ### Feature #9484 - Manual Alert Trigger via UI - **Issue:** https://github.com/openobserve/openobserve/issues/9484 - **Test:** Verifies manual alert trigger button works via kebab menu - **Location:** `tests/ui-testing/playwright-tests/Alerts/alerts-ui-operations.spec.js` --- ## New Page Object Methods Added ### pipelinesPage.js - `ingestMetricsData(streamName, recordCount)` - Ingest metrics via `/api/{org}/ingest/metrics/_json` - `ingestTracesData(serviceName, spanCount, streamName)` - Ingest traces via OTLP `/api/{org}/v1/traces` - Supports custom stream name via `stream-name` header (configurable via `ZO_GRPC_STREAM_HEADER_KEY`) - Proper nested parent-child span timing for waterfall visualization - `clickValidateAndClose()`, `focusSqlEditor()`, `isDiscardChangesDialogVisible()` - `expectDiscardDialogNotVisible()`, `cleanupPipelineCreation()` ### logsPage.js - Log detail sidebar selectors and verification methods - Replaced `waitForTimeout(500)` with element waits (3 places) - Replaced `throw new Error()` with `expect()` assertions (3 places) ### homePage.js - `verifyFavicon()` - Verify favicon presence and HTTP load - Fixed `domValid` boolean cast with `includes()` ### alertManagement.js - Manual alert trigger method via kebab menu --- ## Files Changed | File | Changes | |------|---------| | `tests/ui-testing/pages/pipelinesPages/pipelinesPage.js` | Metrics/traces ingestion, scheduled pipeline validation methods | | `tests/ui-testing/pages/logsPages/logsPage.js` | Log detail sidebar + PR review fixes | | `tests/ui-testing/pages/generalPages/homePage.js` | Favicon verification + review fix | | `tests/ui-testing/pages/alertsPages/alertManagement.js` | Manual alert trigger method | | `tests/ui-testing/playwright-tests/RegressionSet/pipeline-regression.spec.js` | **NEW** - 4 tests for #9901 | | `tests/ui-testing/playwright-tests/RegressionSet/ui-regression.spec.js` | Favicon test | | `tests/ui-testing/playwright-tests/RegressionSet/logs-regression.spec.js` | Log detail sidebar test | | `tests/ui-testing/playwright-tests/Alerts/alerts-ui-operations.spec.js` | Manual alert trigger test | | `tests/ui-testing/playwright-tests/cleanup.spec.js` | Cleanup patterns for test streams | | `.github/workflows/playwright.yml` | Added pipeline-regression.spec.js to CI | | `web/src/components/pipeline/...` | Cherry-picked validation fixes | --- ## Test Plan - [x] Bug #9217 test passes locally - [x] Bug #9724 test passes locally - [x] Bug #9901 tests pass locally (4 tests, ~3.9 min) - [x] Feature #9484 test passes locally - [x] Cleanup patterns added for test streams --------- Co-authored-by: Claude Opus 4.5 <noreply@anthropic.com> |
||
|
|
ddd4c0048a |
test: update alerts e2e tests for new UI flow (#9705)
### **User description** ## Summary - Fix destination import test locator in `verifyDestinationCountMessage()` - Move inline locators to constructor in alertsPage.js and alertTemplatesPage.js - Update alerts spec files for Alerts 2.0 wizard flow ## Test plan - [x] Run `npx playwright test playwright-tests/Alerts/` - all tests pass - [x] Sentinel audit passed with no critical issues ___ ### **PR Type** Tests, Enhancement ___ ### **Description** - Enhance AlertsPage for 2.0 wizard UI (create/update/pause/resume) - Add import success and count verifications in AlertDestinationsPage - Centralize locators in AlertTemplatesPage - Update specs to use new page methods and clearAndFillQueryEditor ___ <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Tests</strong></td><td><details><summary>7 files</summary><table> <tr> <td><strong>alertDestinationsPage.js</strong><dd><code>Add import success and count verification methods</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9705/files#diff-57e5c53b4ef998b3d8708149620ff94dcc46807927f1a3a9e9f28ed3ebe25b0a">+30/-0</a> </td> </tr> <tr> <td><strong>alertTemplatesPage.js</strong><dd><code>Move inline locators into constructor</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9705/files#diff-f4ebd248b2140051e74dbbbd1aabe344f01c80704ce5857e9c28a04350e018f3">+12/-7</a> </td> </tr> <tr> <td><strong>alertsPage.js</strong><dd><code>Refactor for Alerts 2.0 wizard UI and new actions</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9705/files#diff-79ee01d6d7f145f19207b93b87143b545a1188cfc6a82bc8c45fecfbf68f8a1d">+537/-155</a></td> </tr> <tr> <td><strong>dashboard-folder.js</strong><dd><code>Use data-test locator for folder visibility</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9705/files#diff-2c20ba97d8e487482cb8fafab72dc6ac96b8a8935ca7e16383afb6173372082e">+4/-1</a> </td> </tr> <tr> <td><strong>alerts-import.spec.js</strong><dd><code>Use new page methods for import verifications</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9705/files#diff-62b6ec4818685eacc0a934d68aaadfd73b512ef4f4be25fcd5135b97c2844912">+4/-4</a> </td> </tr> <tr> <td><strong>alerts-ui-operations.spec.js</strong><dd><code>Replace raw locators with page object validations</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9705/files#diff-c9b523b5f5dea834b69abdf20f4acef361bdf37b1585c450e10238b1d1984f2e">+3/-3</a> </td> </tr> <tr> <td><strong>logs-regression.spec.js</strong><dd><code>Replace editor calls with clearAndFillQueryEditor</code> </dd></td> <td><a href="https://github.com/openobserve/openobserve/pull/9705/files#diff-99da86ede55fa5f2e3d3fbef897ba7aaa5a7db702a0135f66ac4c888fc7311b6">+4/-6</a> </td> </tr> </table></details></td></tr></tr></tbody></table> </details> ___ |
||
|
|
8173c3cb41 |
test: updated query for logs regression spec file and added waits (#9698)
### **PR Type**
Tests, Enhancement
___
### **Description**
- Updated test subquery to select `kubernetes_pod_name`
- Replaced editor interactions with `clearAndFillQueryEditor`
- Added explicit `waitForTimeout` calls for stability
___
<details> <summary><h3> File Walkthrough</h3></summary>
<table><thead><tr><th></th><th align="left">Relevant
files</th></tr></thead><tbody><tr><td><strong>Tests</strong></td><td><table>
<tr>
<td>
<details>
<summary><strong>logs-regression.spec.js</strong><dd><code>Enhance query
flow and stability in test</code>
</dd></summary>
<hr>
tests/ui-testing/playwright-tests/RegressionSet/logs-regression.spec.js
<ul><li>Modified SQL subquery to select single column<br> <li> Replaced
<code>clickQueryEditor</code> & <code>typeInQueryEditor</code> with
<br><code>clearAndFillQueryEditor</code><br> <li> Added
<code>waitForTimeout</code> calls around query execution steps</ul>
</details>
</td>
<td><a
href="https://github.com/openobserve/openobserve/pull/9698/files#diff-99da86ede55fa5f2e3d3fbef897ba7aaa5a7db702a0135f66ac4c888fc7311b6">+4/-3</a>
</td>
</tr>
</table></td></tr></tr></tbody></table>
</details>
___
|
||
|
|
24b024a502 |
test: automation for bugs fixes (#9678)
### **User description** ## Summary Refactored the logs regression test suite to follow the Page Object Model (POM) pattern by centralizing all locators in the logsPage.js POM file and updating test files to use these locators instead of hardcoded selectors. ## Testing All 10 regression tests passing: - ✅ Absolute time error validation - ✅ Stream switching with saved views (#9388) - ✅ Field values with SUBQUERY/CTE/GROUP BY (#7751) - ✅ Pagination count after search (#8868) - ✅ Alert graph color display (#9311) - ✅ Histogram query from history (#8180) - ✅ Timestamp field in quick mode (#8180) - ✅ Source field display logic (#8180) Test execution: 10/10 passed in 7.2 minutes ___ ### **PR Type** Tests, Enhancement ___ ### **Description** - Refactor logs regression tests to Page Object Model - Centralize all locators in `logsPage.js` - Add new POM locators for regression tests - Add regression tests for bug #7751 (subquery, CTE, GROUP BY) - Add regression tests for bug #8868 (pagination count update) - Add regression test for bug #9311 (alert graph color) - Add regression tests for bug #8180 (histogram, timestamp, source field) ___ ### Diagram Walkthrough ```mermaid flowchart LR A["logsPage.js: New POM locators"] --> B["logs-regression.spec.js: Bug regression tests"] ``` <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Enhancement</strong></td><td><table> <tr> <td> <details> <summary><strong>logsPage.js</strong><dd><code>Add POM locators for regression tests</code> </dd></summary> <hr> tests/ui-testing/pages/logsPages/logsPage.js <ul><li>Added alert-related selectors (<code>alertsMenuItem</code>, <code>alertGraph</code>, <code>alertChart</code>)<br> <li> Added query history selectors (<code>queryHistoryButton</code>, <code>historyPanel</code>)<br> <li> Added table and pagination selectors (<code>tableBottom</code>, <code>tableBodyRow</code>, <br><code>tableHeaders</code>)<br> <li> Added dynamic field selector functions (<code>fieldExpandButton</code>, <br><code>subfieldAddButton</code>, etc.)<br> <li> Added streams search, error indicators, timestamp detail selectors</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9678/files#diff-8045b343491d8943869c1af74cdafab204dc49c02a70294417e73f47d35e0b59">+29/-0</a> </td> </tr> </table></td></tr><tr><td><strong>Tests</strong></td><td><table> <tr> <td> <details> <summary><strong>logs-regression.spec.js</strong><dd><code>Add regression tests for major log search bugs</code> </dd></summary> <hr> tests/ui-testing/playwright-tests/RegressionSet/logs-regression.spec.js <ul><li>Added tests for bug #7751: subquery, CTE, GROUP BY field expansion<br> <li> Added test for bug #8868: pagination count after filtering<br> <li> Added test for bug #9311: full alert graph color rendering<br> <li> Added tests for bug #8180: histogram query, timestamp in quick mode, <br>source field logic</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9678/files#diff-99da86ede55fa5f2e3d3fbef897ba7aaa5a7db702a0135f66ac4c888fc7311b6">+538/-0</a> </td> </tr> </table></td></tr></tr></tbody></table> </details> ___ --------- Co-authored-by: Claude <noreply@anthropic.com> |
||
|
|
13f5fa239a | test: add Playwright tests for theme management (#9636) | ||
|
|
138808f6a7 |
test: add regression tests for bugs fixes (#9630)
…#9308, #9193, #9117) Added comprehensive E2E regression test suite for critical UI bugs: P0 Tests: - #9337: Query expand icon not working after stream explorer navigation - #9388: Stream switching shows wrong table fields (BLOCKER) P1 Tests: - #9455-1: Download empty results notification (CSV + JSON) - #9455-2: Download validation without stream selection - #9308: OpenAPI button redirect from Help menu - #9193: Enrichment table color contrast in light mode - #9117: SQL mode conversion with pipe operators Test Results: 7/7 passing (100%) - Follows OpenObserve test patterns and page object model - Proper tagging (@P0/@P1, feature tags, @regressionBugs) - Comprehensive logging with testLogger - All tests run independently in parallel Files: - tests/ui-testing/playwright-tests/RegressionSet/ui-regression.spec.js --------- Co-authored-by: Claude <noreply@anthropic.com> |
||
|
|
4ecc5509d5 |
test: Added Shard for Regression tests and logs spec file in it (#9394)
Co-authored-by: mmosarafO2 <mosraf@openobserve.ai> Co-authored-by: Hengfei Yang <hengfei.yang@gmail.com> Co-authored-by: Sai Nikhil <nikhil@openobserve.ai> |