mirror of
https://github.com/openobserve/openobserve.git
synced 2026-11-06 00:09:22 +00:00
### **User description** ## Summary - Fixed `fillPipelineDetails` method in pipelinesEP.js that was timing out on stream dropdown selection - Root cause: Test relied on positional error indexes (`error-0-1`, `error-0-2`, `error-0-3`) which broke after conditions revamp PR #9267 ## Changes - Replace positional error indexes with specific `data-test` attribute selectors - Use `pipeline-import-source-stream-name-input` for stream dropdown detection - Use `pipeline-import-destination-function-name-input` for function dropdowns - Add keyboard filtering and scroll fallback for virtual scroll lists - Add `exact: true` matching for function options to prevent partial matches (e.g., 'first5' matching 'first587') - Remove duplicate click in `pipelineDestinations.addDestination` ## Test plan - [x] Verified "Import RealTime Pipeline from URL" test passes - [x] Verified "Import RealTime Pipeline from JSON file" test passes - [x] Audited changes - no test validations or criteria were weakened ___ ### **PR Type** Tests, Bug fix ___ ### **Description** - Use specific data-test selectors for dropdown detection - Add robust filter and scroll fallback logic - Refactor function dropdown selection into loop - Remove redundant click in destination method ___ <details> <summary><h3> File Walkthrough</h3></summary> <table><thead><tr><th></th><th align="left">Relevant files</th></tr></thead><tbody><tr><td><strong>Bug fix</strong></td><td><table> <tr> <td> <details> <summary><strong>pipelineDestinations.js</strong><dd><code>Remove redundant click in addDestination</code> </dd></summary> <hr> tests/ui-testing/pages/pipelinesPages/pipelineDestinations.js <ul><li>Removed duplicate click on destination-type card<br> <li> Ensured correct addDestination click sequence</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9806/files#diff-bab2fcd1b7817e914bf355829bdb52882fa1584e70da2f7d705549c5e30e494f">+0/-1</a> </td> </tr> </table></td></tr><tr><td><strong>Enhancement</strong></td><td><table> <tr> <td> <details> <summary><strong>pipelinesEP.js</strong><dd><code>Enhance fillPipelineDetails dropdown logic</code> </dd></summary> <hr> tests/ui-testing/pages/pipelinesPages/pipelinesEP.js <ul><li>Replaced positional error selectors with data-test inputs<br> <li> Implemented reliable stream dropdown handling<br> <li> Added typing filter and scroll fallback for virtual lists<br> <li> Refactored function dropdown selection loop with exact match</ul> </details> </td> <td><a href="https://github.com/openobserve/openobserve/pull/9806/files#diff-f40d50224fc368792766aac9f85f7aae00e93374f74300651dfac7155d612449">+65/-84</a> </td> </tr> </table></td></tr></tr></tbody></table> </details> ___
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