mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-05 16:10:43 +00:00
## Summary - Splits the monolithic `logsQueryBuilder.spec.js` (82 tests, 1,968 lines) into 3 parallel-friendly files by describe-block grouping: - `logsQueryBuilder-chart.spec.js` — 28 tests (P0 critical, tab navigation, chart types, entry conditions, chart auto-selection) - `logsQueryBuilder-filters.spec.js` — 26 tests (all filter operator tests) - `logsQueryBuilder-editor.spec.js` — 23 tests (builder tab improvements, edge cases, mode toggles, bare field select, field list visibility) - Replaces the 2 uneven Logs shards (`Logs-Core` 175 tests / `Logs-Queries` 57 tests) with 3 balanced shards: - `Logs-Builder` (~102 tests) — the 3 split files + logsquickmode, logshistogram, pagination, unflattened - `Logs-Core` (~92 tests) — logspage, logstable, logsqueries, join, shareLink, logsAnalyzeDimensions, monaco-query-prefill, logsqueries.matchall - `Logs-Features` (~77 tests) — autocomplete, searchJobInspector, searchPatterns, jobSearch, sql-autocomplete, CTE, downloads, secondsPrecision, searchpartition, indexquery, region ## Why The old `Logs-Core` shard took **28 minutes** because `logsQueryBuilder.spec.js` (82 serial tests in one file) pinned a single worker while 4 others sat idle. With the split, all 5 workers can process files in parallel, bringing estimated shard time to **~10-12 minutes each**. ## Test plan - [x] All 3 new files verified with `--list` (77 tests parsed correctly) - [x] Shard 1 (Logs-Builder): 65 passed, 5 failed — all 5 failures are pre-existing timing/flake issues, confirmed against CI run [#25556422716](https://github.com/openobserve/openobserve/actions/runs/25556422716/job/75017482996) - [x] Shard 2 (Logs-Core): 88 passed, 4 failed — all 4 failures pre-existing in untouched files - [x] Shard 3 (Logs-Features): 62 passed, 15 failed — 11 are `@enterprise` tests expected to fail on OSS, 4 pre-existing flakes - [x] Zero import errors, zero missing utility function errors across all 3 files - [x] ENT `playwright.yml` updated in companion PR: openobserve/o2-enterprise 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Sonnet 4.6 <noreply@anthropic.com>
zinc-observe-ui-automation
Playwright UI Testing
Installation
npm install
Running Tests
Using Playwright Runner UI (Recommended)
cd playwright-runner
npm start
Then open http://localhost:3000 to access the test runner interface.
Using Command Line
# Run all tests
npx playwright test
# Run specific test by tag
npx playwright test -g @alertsImportExport
# Run in headed mode
npx playwright test --headed
# Run specific test file
npx playwright test Alerts/alerts-import.spec.js
Environment Configuration
Tests can be configured using:
- Playwright Runner UI - Set environment variables through the web interface
- Environment Variables - Set variables in terminal or .env file