Add comprehensive E2E testing setup with Cypress and Selenium WebDriver #5
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Summary
This PR adds complete end-to-end (E2E) testing infrastructure for the app-studio framework, including Cypress and Selenium WebDriver configurations, custom testing helpers, and comprehensive documentation verifying that the
data-testidprop is fully supported across all components.Key Changes
E2E Testing Report (
E2E_TESTING_REPORT.md): Comprehensive 358-line verification report documenting:data-testidprop is properly supported across all app-studio componentsdata-testidusageCypress Configuration:
cypress.config.ts: Full Cypress configuration with Storybook as base URLcypress/support/e2e.tsandcypress/support/component.ts: Support filescypress/support/commands.ts: Custom commands fordata-testidselection:cy.getByTestId(selector): Find elements by data-testidcy.findByTestId(selector): Find within parent elementscypress/e2e/data-testid.cy.ts: Basic E2E tests demonstrating data-testid usagecypress/e2e/component-integration.cy.ts: Integration tests for complex scenariosSelenium WebDriver Setup:
e2e-tests/webdriver/data-testid.test.ts: Helper functions for data-testid selectionfindByTestId(): Find single element by data-testidwaitForTestId(): Wait for element to appeare2e-tests/webdriver/component-tests.test.ts: ComprehensiveTestIdHelpersclass with methods:getByTestId(),getAllByTestId(),hasTestId()findByTestId()for nested elementsgetTextByTestId(),clickByTestId(),typeByTestId()Documentation:
e2e-tests/README.md: Complete guide covering:NPM Scripts (in package.json):
test:e2e:cypress: Run Cypress tests in headless modetest:e2e:cypress:open: Open Cypress interactive modetest:e2e:webdriver: Run WebDriver teststest:e2e: Alias for WebDriver testsImplementation Details
data-testid Support: Verified that all app-studio components support
data-testidthrough:HTMLAttributes<HTMLElement>{...props})Testing Framework Flexibility: Provides both Cypress (modern, UI-focused) and Selenium WebDriver (cross-browser, enterprise) options
Helper Abstractions: Custom commands and helper classes reduce boilerplate and provide consistent APIs for test authors
Zero Breaking Changes: All changes are additive; no modifications to existing component APIs or behavior
Testing
https://claude.ai/code/session_01UyfhHoLpBYXMEc5zqeFh9w