Skip to content

Running flows ​

How to execute your test flows and understand the results.

Quick Actions

  • Run single flow: Click the play button 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:

  1. Find the flow you want to run
  2. Click the Play button on the flow card
  3. The flow begins executing immediately
  4. Status updates in real-time

From the Dashboard:

  1. Locate the flow in the recent flows section
  2. Click the Play button on the flow card
  3. 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:

  1. Click Run All Active Flows
  2. All flows marked as "Active" will execute
  3. Monitor progress on the Dashboard

From the Flows page:

  1. Click Run All Active in the toolbar
  2. All active flows execute in sequence
  3. 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, here's what happens:

Initialization
  • Status → Running
  • Start time recorded
  • Browser launched
Step Execution
  • Steps run in order
  • Actions performed
  • Progress tracked
Completion
  • Status → Passed/Failed
  • Duration calculated
  • Results saved

1. Initialization ​

  • Flow status changes to "Running"
  • Start timestamp is recorded
  • Previous results are cleared

2. Step execution ​

Steps run 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

Live step progress ​

While a test runs, Flowguard shows which step it's currently on in real time:

  • In the flow editor — the running overlay shows a progress panel with "Step X/Y", the current step's name, a progress bar, and the full step list with a checkmark for finished steps and a spinner on the active one.
  • In the flow overview — each running flow shows a slim progress bar and "Step X/Y · step name" right under the item.

The progress updates roughly once per second and disappears automatically when the run finishes. Custom step names (see the editor guide) are used here too.

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
ErrorCauseSolution
Element not foundSelector doesn't matchUpdate selector, add Wait step
Timeout exceededStep took too longIncrease timeout, check page load
Navigation failedURL unreachableCheck URL, verify site is up
Assertion failedContent doesn't matchUpdate expected value, check timing

Execution settings ​

Control how flows execute by configuring these settings:

Timeout ​

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 ​

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 ​

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)

Canceling execution ​

You can cancel a running flow at any time. The flow will be marked as "cancelled" and execution stops immediately. Any steps that already completed are still recorded in the results.

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 PassedIf Failed
Note execution timeCheck which step failed
Schedule for regular runsUpdate selectors if needed
Adjust timeouts
Fix and re-run immediately

Regular testing ​

When to Run Your Flows

TriggerPriority
WordPress core updatesCritical
Plugin updatesCritical
Theme changesHigh
Content modificationsMedium
Code deploymentsCritical
Scheduled (automated)Ongoing

What to test:

  • User journeys that matter most
  • Features you recently changed
  • Common workflows

Troubleshooting ​

Flow blocked by firewall ​

If the error screenshot shows a firewall block page instead of your site, your WAF is blocking Flowguard's servers. Whitelist these IPs:

  • 209.250.239.167
  • 140.82.37.15
  • 95.179.161.231

See Settings > Troubleshooting for details.

Flow won't start ​

Possible causes:

  • Flow is set to Inactive
  • No steps in the flow
  • Browser/server issue

Solutions:

  1. Verify flow is Active
  2. Check that steps exist
  3. Refresh the page
  4. Check browser console

Flow always fails ​

Possible causes:

  • Selectors are outdated
  • Page structure changed
  • Timeouts too short
  • Element loads slowly

Solutions:

  1. Open flow in editor
  2. Test each step manually
  3. Update selectors using picker
  4. Add Wait steps
  5. Increase timeouts

Flow passes unexpectedly ​

Possible causes:

  • Assertions are too broad
  • Wrong elements being checked
  • Site behavior changed

Solutions:

  1. Review assertion conditions
  2. Make assertions more specific
  3. Add more verification steps
  4. Test manually to confirm

Slow execution ​

Possible causes:

  • Many Wait steps
  • Long timeouts
  • Slow page loading
  • Many screenshots

Solutions:

  1. Reduce Wait durations
  2. Optimize timeouts
  3. Disable screenshots
  4. Remove unnecessary steps
  5. Improve site performance

Intermittent failures ​

Possible causes:

  • Timing issues
  • Dynamic content
  • Race conditions
  • Network instability

Solutions:

  1. Add Wait steps before actions
  2. Increase timeouts
  3. Add retries (cautiously)
  4. Make selectors more specific
  5. 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 your flows.

Tips for reliable flows ​

Make flows resilient ​

Use stable selectors:

  • Prefer IDs and data attributes
  • Avoid generated class names
  • Don't rely on DOM structure alone

Add appropriate waits:

  • Wait after navigation
  • Wait for AJAX requests
  • Wait for animations

Verify conditions:

  • Assert elements are visible before clicking
  • Check that the 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 ​

Need help? ​

If flows aren't working as expected:

  1. Check this guide for troubleshooting tips
  2. Review the Step Types documentation
  3. Inspect your site with browser DevTools
  4. Verify WordPress and Flowguard are up to date
  5. Contact support for assistance