Running Flows
Learn how to execute your test flows and understand the results.
Quick Actions
- Run single flow: Click ▶️ on any flow card
- Run all active: Click "Run All Active Flows" button
- From Dashboard: Use the quick actions panel
Overview
Once you've created a flow, you can run it to execute all its steps automatically. Flowguard simulates user actions and reports whether the flow passed or failed.
Ways to Run Flows
1. Run a Single Flow
From the Flows Page:
- Find the flow you want to run
- Click the Play button (▶️) on the flow card
- The flow begins executing immediately
- Status updates in real-time
From the Dashboard:
- Locate the flow in the recent flows section
- Click the Play button on the flow card
- Monitor execution
From the Flow Editor: Currently, flows must be run from the Flows page or Dashboard. A "Run" button in the editor may be added in the future.
2. Run All Active Flows
From the Dashboard:
- Click Run All Active Flows
- All flows marked as "Active" will execute
- Monitor progress on the Dashboard
From the Flows Page:
- Click Run All Active in the toolbar
- All active flows execute in sequence
- Results update as each flow completes
TIP
Only flows with "Active" status are included when you run all flows. Inactive flows are skipped.
Execution Process
When you run a flow, Flowguard performs these steps:
1. Initialization
- Flow status changes to "Running"
- Start timestamp is recorded
- Previous results are cleared
2. Step Execution
Steps execute in order from top to bottom:
- Each step performs its action
- If a step fails, execution may stop (depending on settings)
- Progress is tracked in real-time
3. Completion
- Final status is determined (Passed or Failed)
- Execution duration is calculated
- Results are saved
- Screenshots are captured (if enabled)
Understanding Results
Passed Flows
A flow passes when:
- ✅ All steps execute successfully
- ✅ All assertions are true
- ✅ No errors occur
- ✅ Execution completes within timeout
Passed flows display:
- Green "Passed" badge
- Checkmark icon
- Duration in milliseconds
- Timestamp of completion
Failed Flows
A flow fails when:
- ❌ A step encounters an error
- ❌ An assertion fails
- ❌ An element can't be found
- ❌ Timeout is exceeded
- ❌ Network issues occur
Failed flows display:
- Red "Failed" badge
- X icon
- Error message
- Which step failed
- Timestamp of failure
Running Flows
A flow shows as running when:
- 🟠 Execution is in progress
- 🟠 Steps are being processed
- 🟠 Not yet complete
Running flows display:
- Orange "Running" badge
- Loading spinner
- Current progress
Viewing Detailed Results
To see detailed information about a flow's execution:
Last Run Information
Click on any flow to view:
- Status - Passed, Failed, or Running
- Timestamp - When it ran
- Duration - How long it took
- Step Results - Individual step outcomes
- Error Details - If it failed
Step-by-Step Results
Each step shows:
- Step number and type
- Success or failure status
- Duration
- Error message (if failed)
- Screenshot (if enabled)
Error Messages
Common Error Reference - Expand for solutions
| Error | Cause | Solution |
|---|---|---|
| Element not found | Selector doesn't match | Update selector, add Wait step |
| Timeout exceeded | Step took too long | Increase timeout, check page load |
| Navigation failed | URL unreachable | Check URL, verify site is up |
| Assertion failed | Content doesn't match | Update expected value, check timing |
Execution Settings
Control how flows execute by configuring settings:
Timeout
What it is: Maximum time (in milliseconds) to wait for each step.
Default: 30000ms (30 seconds)
When to adjust:
- Increase for slow-loading pages
- Decrease for fast actions (quicker failure detection)
Example:
Timeout: 60000 (1 minute for slow pages)
Timeout: 10000 (10 seconds for quick tests)Retries
What it is: Number of times to retry a failed step before marking the flow as failed.
Default: 0 (no retries)
When to adjust:
- Increase for flaky tests (intermittent failures)
- Keep at 0 for reliable tests
Example:
Retries: 3 (Try up to 3 times before failing)WARNING
High retry counts can hide real issues. Use retries cautiously and investigate why steps fail intermittently.
Screenshots
What it is: Capture screenshots during execution for debugging.
Default: Enabled
When to adjust:
- Enable for debugging failed flows
- Disable to speed up execution
Example:
Screenshot: Enabled (Capture images for review)
Screenshot: Disabled (Faster execution)Monitoring Active Flows
Real-Time Updates
When flows run, you'll see:
- Status badge changes (Running → Passed/Failed)
- Duration counter updates
- Progress indicators
Multiple Flows Running
When running multiple flows:
- Each flow executes independently
- Results update as they complete
- No guaranteed order (may run in parallel in future versions)
Interrupting Execution
Currently, you cannot stop a running flow. It will complete or fail based on its steps and settings.
INFO
A "Stop" button for canceling running flows may be added in a future update.
Best Practices
Before Running
Pre-Run Checklist
- [ ] All steps configured correctly
- [ ] Selectors are accurate
- [ ] Descriptions added for clarity
- [ ] Step order makes sense
- [ ] Tested manually in preview
Set Appropriate Status:
- Mark as Active for regular testing
- Mark as Inactive if still developing
After Running
Post-Run Actions
| If Passed | If Failed |
|---|---|
| ✅ Great! Document the success | 🔍 Check which step failed |
| Note execution time | Update selectors if needed |
| Schedule for regular runs | Adjust timeouts |
| Fix and re-run immediately |
Regular Testing
When to Run Your Flows
| Trigger | Priority |
|---|---|
| WordPress core updates | 🔴 Critical |
| Plugin updates | 🔴 Critical |
| Theme changes | 🟠 High |
| Content modifications | 🟡 Medium |
| Code deployments | 🔴 Critical |
| Scheduled (automated) | ✅ Ongoing |
What to Test:
- Critical user journeys
- Important features
- Common workflows
- Recently changed pages
Troubleshooting
Flow Won't Start
Possible causes:
- Flow is set to Inactive
- No steps in the flow
- Browser/server issue
Solutions:
- Verify flow is Active
- Check that steps exist
- Refresh the page
- Check browser console
Flow Always Fails
Possible causes:
- Selectors are outdated
- Page structure changed
- Timeouts too short
- Element loads slowly
Solutions:
- Open flow in editor
- Test each step manually
- Update selectors using picker
- Add Wait steps
- Increase timeouts
Flow Passes Unexpectedly
Possible causes:
- Assertions are too broad
- Wrong elements being checked
- Site behavior changed
Solutions:
- Review assertion conditions
- Make assertions more specific
- Add additional verification steps
- Test manually to confirm
Slow Execution
Possible causes:
- Many Wait steps
- Long timeouts
- Slow page loading
- Many screenshots
Solutions:
- Reduce Wait durations
- Optimize timeouts
- Disable screenshots
- Remove unnecessary steps
- Improve site performance
Intermittent Failures
Possible causes:
- Timing issues
- Dynamic content
- Race conditions
- Network instability
Solutions:
- Add Wait steps before actions
- Increase timeouts
- Add retries (cautiously)
- Make selectors more specific
- Check for AJAX completion
Reading Execution Logs
Step Results
Each executed step records:
- Step number - Position in flow
- Step type - Action performed
- Status - Success or failure
- Duration - Time taken
- Details - Additional information
Error Logs
Failed steps include:
- Error type - What went wrong
- Error message - Detailed description
- Stack trace - Technical details (for developers)
- Screenshot - Visual of the failure
Performance Data
Execution data includes:
- Total duration - Full flow execution time
- Step durations - Individual step times
- Slowest steps - Performance bottlenecks
Use this data to optimize flows.
Tips for Reliable Flows
Make Flows Resilient
Use Stable Selectors:
- Prefer IDs and data attributes
- Avoid generated class names
- Don't rely on structure alone
Add Appropriate Waits:
- Wait after navigation
- Wait for AJAX requests
- Wait for animations
Verify Conditions:
- Assert elements are visible before clicking
- Check page loaded correctly
- Verify expected content
Handle Edge Cases
Consider Different States:
- Already logged in vs. logged out
- Empty cart vs. items in cart
- Different screen sizes
Account for Variability:
- Dynamic content
- Changing timestamps
- Random ordering
Keep Flows Maintained
Regular Updates:
- Review flows monthly
- Update after site changes
- Archive obsolete flows
Document Changes:
- Note why selectors changed
- Record when steps were modified
- Explain flow purpose
Advanced Topics
Execution Order
Currently, flows execute one at a time. The order depends on:
- How they were triggered (single vs. all)
- System scheduling
- Available resources
Data Passing
INFO
Data passing between steps (using variables) is a planned feature for future versions.
Conditional Steps
INFO
Conditional execution (if/else logic) is a planned feature for future versions.
Next Steps
- Step Types - Learn about all available actions
- Settings - Configure default behaviors
- Developer Reference - API for custom integrations
Need Help?
If flows aren't working as expected:
- Check this guide for troubleshooting tips
- Review the Step Types documentation
- Inspect your site with browser DevTools
- Verify WordPress and Flowguard are up to date
- Contact support for assistance