mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-05 16:10:43 +00:00
## What this fixes The scheduled **regression suite** started failing on `main` after **#12764 (scoped scss styles removal)**, and validating the fix on the **enterprise build** surfaced several more failures in the same family (plus a couple unrelated ones). This PR heals **all of them**. Every fix is either a page-object selector update or a small, inert `data-test` hook — **no product behaviour changes**. ## Everything fixed | Area | Test | Root cause | Fix | Verified | |---|---|---|---|---| | **Streams** regression | `query expand icon #9337` | #12764 replaced `.editor-fullscreen` class with inline classes on `isFocused` | `data-fullscreen` hook on the container + detect via it | ✅ local | | **Alerts** regression | `Bug #9967 PromQL alert` | #12764 turned the PromQL operator into `<OSelect data-test="alert-threshold-operator-select">`, dropping `.alert-v3-select` | data-test + popover-option pattern (+ fail-fast fallback) | ✅ local | | **RUM** (ENT) | 3× `sourcemap-ui` | #12764 moved `.error-viewer-container` → data-test and dropped `.tags-title` | rumPage selectors + `data-test="error-tags-title"` hook | ✅ local | | **Logs-Features** (ENT) | `searchPatterns … wildcard chips` | chip moved from `.wildcard-chip` class to `<OTag data-test="pattern-card-wildcard-chip">` | target the data-test hook | ✅ local | | **Traces** (ENT) | `service-graph` user/search-service status | health badge moved from `.health-badge.<status>` classes to `<OTag data-test="service-health-badge">` | read status from the badge's text | ⚙️ ENT CI¹ | | **Dashboards-Core** | `line chart … camelCase zero values` | *(not #12764)* a line chart whose series are entirely zero renders "No Data" | one series counts all rows so the chart always renders | ✅ local | ¹ Traces service-graph needs an enterprise daemon that isn't available locally; validated against the component's own unit spec (`ServiceGraphNodeSidePanel.spec.ts`), confirmed on ENT CI. ## Root-cause themes 1. **#12764 (scoped SCSS removal)** deleted/renamed CSS classes that E2E page objects targeted. It added `data-test` hooks to *some* elements but not others — so tests anchored on bare `.class` selectors broke. The fix everywhere is to move those anchors to durable `data-test` hooks. 2. **`OTag`/`OSelect` component migrations on `main`** continued this: the components gained `data-test` hooks but the (enterprise-only) page objects were never updated. Because those specs are `@enterprise`, OSS CI never runs them — so they merged broken and only surfaced on the enterprise build. ## Product-code touched (test hooks only, inert) - `SearchBar.vue` — `data-fullscreen` attribute (no CSS/JS/snapshot consumers; styling still driven by the existing `isFocused` class binding) - `ErrorTags.vue` — `data-test="error-tags-title"` Everything else is under `tests/ui-testing/`. ## Verification Verified locally against a fresh frontend build (all green): Streams `#9337`, Alerts `#9967`, RUM (3), Dashboards-Core, Logs-Features searchPatterns. Traces service-graph is validated via its component unit spec + the enterprise CI run (it can't run locally without the service-graph daemon). 🤖 Generated with [Claude Code](https://claude.com/claude-code) --------- Co-authored-by: Claude Opus 4.8 <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