Skip to content

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:

  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, 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
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 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 PassedIf Failed
✅ Great! Document the success🔍 Check which step failed
Note execution timeUpdate selectors if needed
Schedule for regular runsAdjust timeouts
Fix and re-run immediately

Regular Testing

When to Run Your Flows

TriggerPriority
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:

  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 additional 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 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

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