Skip to content

feat: Playwright TypeScript test automation for GxCapture Redbird BM (71 regression tests)#15

Closed
devin-ai-integration[bot] wants to merge 2 commits into
mainfrom
playwright-automation
Closed

feat: Playwright TypeScript test automation for GxCapture Redbird BM (71 regression tests)#15
devin-ai-integration[bot] wants to merge 2 commits into
mainfrom
playwright-automation

Conversation

@devin-ai-integration

@devin-ai-integration devin-ai-integration Bot commented Jun 24, 2026

Copy link
Copy Markdown

Summary

Complete Playwright TypeScript automation framework for GxCapture Redbird Benefits Management — 71 regression test cases (TC#1-71) across 15 modules.

Key architecture decisions

Locators extracted from real application code — not guessed. Login flow uses:

page.getByRole('heading', { name: 'Sign In' })
page.getByRole('textbox', { name: 'Username' })
page.getByRole('button', { name: /Login/i })

Tables use #search-bar-0, button.fa-plus-circle (add), button.edit, button.tableRowDelete, input.selection-input-4 (checkboxes). Forms use #name, #username, #email, #password, #role, #BM/#MP, #btnCancel, #questionnaire.

Evidence-based test pattern matching existing codex architecture:

trackGatewayResponses(page.context(), apiResponses);  // track /gxcapturegateway/ calls
captureStep(page, testInfo, 'step-name');              // screenshot evidence
writeEvidence(testInfo, 'evidence.json', evidence);    // JSON evidence
// cleanup in try/finally with dialog handling

14 Page Object classes (pages/) + shared helpers (utils/helpers.ts) with loginToPortal(), openBenefitsManagement(), openConfigurationScreen(), openAdminScreen(), searchTable(), visibleValidationMessages().

Module breakdown (71 tests)

Module TCs Tests
Portal & BM Landing TC#1-3 3
Manage Clients/Context/Definitions TC#4-8 5
Hierarchy TC#9 1
Templates (CRUD, copy, version) TC#10-13 4
Plans (CRUD, filters, search) TC#14-22 9
My Work Queue TC#23-27 5
Roles & Privileges TC#28-32 5
Plan Life Cycle (full workflow) TC#33-46 14
Rules (constraints, display, validations) TC#47-57 11
Load Definitions (CRUD, batch) TC#58-66, 70-71 11
Report Config & Exports TC#67-69 3

Running

npm install && npx playwright install --with-deps
export GXCAPTURE_USERNAME=... GXCAPTURE_PASSWORD=...
npm test                    # all 71 tests
npm run test:plans          # single module
npm run test:headed         # with browser visible

Note: App is on internal network — tests will skip if credentials aren't set. Designed for self-hosted runners with network access.

Link to Devin session: https://partner-workshops.devinenterprise.com/sessions/71d9de7510ab410195aaf4d5bef888c3

- 71 regression test cases automated across 15 modules
- Page Object Model architecture with 14 page classes
- TypeScript with strict mode
- Cross-browser support (Chromium, Firefox)
- Shared auth state for efficient test execution
- GitHub Actions CI/CD pipeline
- HTML and JSON test reporters
- Screenshots and video on failure

Modules: Portal, Manage Clients/Context/Definitions, Hierarchy,
Templates, Plans, My Work Queue, Roles & Privileges,
Plan Life Cycle, Rules, Load Definitions, Report Config, Exports
@devin-ai-integration

Copy link
Copy Markdown
Author

🤖 Devin AI Engineer

I'll be helping with this pull request! Here's what you should know:

✅ I will automatically:

  • Address comments on this PR. Add '(aside)' to your comment to have me ignore it.
  • Look at CI failures and help fix them

Note: I can only respond to comments from users who have write access to this repository.

⚙️ Control Options:

  • Disable automatic comment, CI, and merge conflict monitoring

…tion code

- Updated LoginPage with exact selectors: getByRole heading 'Sign In',
  textbox 'Username'/'Password', button 'Login', logout via #dropdown-size-small
- Updated all 14 Page Objects with real locators from working test code:
  - #search-bar-0 for table search
  - button.fa-plus-circle for add buttons
  - button.edit for row edit actions
  - button.tableRowDelete for delete
  - input.selection-input-4 for row checkboxes
  - #name, #username, #email, #password for form fields
  - #BM, #MP for application checkboxes
  - #btnCancel, #questionnaire for modal elements
- Added evidence capture pattern (captureStep, writeEvidence) matching
  existing codex test architecture
- Added API response tracking via trackGatewayResponses for /gxcapturegateway/
- Added proper cleanup with try/finally blocks and dialog handling
- All 71 test cases rewritten with evidence-based pattern
- TypeScript compiles with zero errors
@devin-ai-integration devin-ai-integration Bot deleted the playwright-automation branch June 25, 2026 07:31
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

0 participants