-
Notifications
You must be signed in to change notification settings - Fork 78
feat(FR-1714): implement AI-powered Playwright test automation workflow #4687
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has required the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Pull Request Overview
This PR introduces an AI-powered Playwright test automation workflow by implementing three specialized chat mode agents (Planner, Generator, and Healer) that automate the entire test lifecycle. The PR also includes a practical demonstration through new VFolder E2E tests and supporting utility classes, along with upgrading Playwright from 1.49.1 to 1.56.1.
Key Changes:
- Added three AI agent configurations for automated test planning, generation, and healing
- Implemented comprehensive VFolder explorer modal tests (6 test scenarios)
- Created reusable page object classes for folder explorer and notification handling
- Enhanced test utilities with better filter management and error handling
Reviewed Changes
Copilot reviewed 16 out of 17 changed files in this pull request and generated 9 comments.
Show a summary per file
| File | Description |
|---|---|
package.json |
Upgraded @playwright/test dependency from ^1.49.1 to ^1.56.1 |
pnpm-lock.yaml |
Updated lockfile to reflect Playwright version upgrade |
e2e/vfolder-explorer-modal.spec.ts |
New comprehensive test suite covering folder explorer modal permissions, layout, and error handling |
e2e/vfolder-consecutive-deletion.spec.ts |
New test demonstrating consecutive folder deletion with proper filter clearing |
e2e/seed.spec.ts |
Template/seed file for AI agent test generation (currently empty placeholder) |
e2e/utils/classes/FolderExplorerModal.ts |
New page object class for interacting with folder explorer modal |
e2e/utils/classes/NotificationHandler.ts |
New utility class for managing Ant Design notifications in tests |
e2e/utils/test-util.ts |
Enhanced deletion utilities with filter clearing, better error handling, and new clearAllFilters helper |
e2e/session.test.ts |
Reorganized test structure, un-skipped resource policy test, updated form field selectors |
.mcp.json |
Added Playwright test MCP server configuration (missing type field) |
backend.ai-webui.code-workspace |
Added MCP server configurations for VS Code workspace |
.claude/agents/playwright-test-planner.md |
Agent configuration for AI-powered test scenario planning |
.claude/agents/playwright-test-generator.md |
Agent configuration for test code generation (contains syntax error in example) |
.claude/agents/playwright-test-healer.md |
Agent configuration for automated test debugging and fixing |
Files not reviewed (1)
- pnpm-lock.yaml: Language not supported
1049bd4 to
c7739df
Compare
847bf01 to
e4fd3bc
Compare
2e9037e to
c850865
Compare
e4fd3bc to
7cb1ac8
Compare
7cb1ac8 to
55a37ca
Compare
55a37ca to
cc646a4
Compare
ironAiken2
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It would be good to add a convention for test names. Previously, test names were written from the user's perspective to match e2e tests, but now they are written as if they were unit tests. Also, since tests generated by AI are written in separate files, it would be better if they were written under existing tests.
Everything else works fine :)
cc646a4 to
6ed3653
Compare
ironAiken2
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
6ed3653 to
ca4fafd
Compare
Merge activity
|
Add three specialized chat mode agents for automated test lifecycle: - Planner agent: Analyzes web UI and creates comprehensive test scenarios - Generator agent: Converts test plans into working Playwright code - Healer agent: Debugs and repairs failing tests automatically Includes practical demonstration with VFolder E2E tests: - FolderExplorerModal and NotificationHandler utility classes - Comprehensive test specs for modal and deletion workflows - Enhanced test utilities with improved filter and notification handling - Playwright MCP server configuration for agent integration This establishes foundation for 5x faster test creation and 60% reduction in maintenance time through AI-powered test automation.
ca4fafd to
c78808f
Compare

resolves #4683 (FR-1714)
Summary
This PR implements an AI-powered Playwright test automation workflow using three specialized chat mode agents that automate the entire test lifecycle - from planning to generation to healing.
Goal
Three Specialized Agents
🎭 Planner Agent (
.claude/agents/playwright-test-planner.md)🎭 Generator Agent (
.claude/agents/playwright-test-generator.md)🎭 Healer Agent (
.claude/agents/playwright-test-healer.md)Practical Demonstration: VFolder E2E Tests
This PR includes a complete demonstration of the workflow with VFolder-related tests:
New Utility Classes:
FolderExplorerModal- Page object class for folder explorer modal interactionsNotificationHandler- Centralized notification management to prevent UI blockingNew Test Specifications:
vfolder-explorer-modal.spec.ts- Comprehensive tests for folder explorer modal (6 tests)vfolder-consecutive-deletion.spec.ts- Tests for consecutive folder operationsEnhanced Test Utilities:
deleteForeverAndVerifyFromTrash()with filter clearing and better error handlingclearAllFilters()helper functionConfiguration:
.mcp.jsonfor agent integrationTechnical Implementation
Agent Architecture:
Benefits for Developers:
Checklist:
.claude/agents/are comprehensive and follow best practices