Flutter Web Testing
Overview
Flutter Web applications often render UI components inside a canvas using CanvasKit or skwasm. Unlike traditional web applications, buttons, inputs, and labels may not be available as standard HTML elements, making Selenium and Playwright selectors unreliable.
DevAssure O2 simplifies automated testing of Flutter Web applications by unlocking Flutter semantics when available and applying AI-powered visual reasoning when the UI is rendered entirely on canvas. This enables reliable end-to-end testing of Flutter applications without maintaining traditional automation scripts.
How DevAssure O2 Tests Flutter Apps
Flutter Semantics Discovery
Flutter exposes a semantic tree through flt-semantics-host.
DevAssure automatically discovers and interacts with:
- Buttons
- Input fields
- Labels
- Checkboxes
- Dropdowns
without requiring XPath, CSS selectors, or test IDs.
Visual Reasoning for Canvas UIs
When semantic information is unavailable, DevAssure O2 analyzes the rendered screen visually and interacts with elements the same way a user would.
The agent can:
- Identify form fields
- Recognize buttons and menus
- Understand labels and instructions
- Navigate across screens
- Adapt to layout changes
This eliminates the need for coordinate-based automation and brittle selectors.
Example Test
name: Flutter Login Test
steps:
- Open application
- Enter test-user@example.com in Email
- Enter Password@123 in Password
- Click Login
- Verify Dashboard is displayed
No selectors, locators, or automation scripts are required.
What DevAssure O2 Validates
During execution, DevAssure O2 can validate:
- UI interactions
- Navigation flows
- API responses
- Network failures
- Browser console errors
- Business workflows
- End-to-end user journeys
CI/CD Integration
DevAssure flutter tests can be executed automatically on every pull request or deployment.
Supported platforms include:
- GitHub Actions
- GitLab CI
- Jenkins
- Azure DevOps
- Bitbucket Pipelines
No additional configuration is required for Flutter Web applications.
DevAssure automatically detects Flutter-based web apps and handles execution accordingly. The agent intelligently chooses the best interaction method—Flutter semantics or visual reasoning—allowing reliable automation of Flutter Web applications without custom scripts, selectors, or framework-specific setup. :::