Scheduling Automated Tests
Schedule test suites on cron. Plan limits (Starter weekly, Pro+ unlimited), overlap handling, baseline replay scheduling, notification routing.
Scheduling Automated Tests
Set up a schedule to run a test suite automatically — daily, weekly, hourly, or on a custom cron. Combined with notifications, this is how teams catch regressions overnight without anyone watching.
Plan availability
| Plan | Schedules per project | Minimum interval |
|---|---|---|
| Free | — | — |
| Starter | 1 | Weekly |
| Pro | Unlimited | 15 minutes |
| Business | Unlimited | 5 minutes |
| Enterprise | Unlimited | 1 minute |
Creating a schedule
- Click Schedules in the sidebar.
- Click + New Schedule.
- Pick the test suite (or composite suite) to run.
- Choose the cadence — preset (daily 9am, weekly Monday, hourly) or custom cron.
- Pick which browsers to run on.
- Optionally toggle visual regression and pick the environment (Pro+).
- Save.
The schedule's "next run at" timestamp shows when it'll fire. You can pause and resume any schedule without losing the configuration.
Cadence options
Presets
- Hourly — runs at minute 0 of every hour. Pro+.
- Every 6 hours.
- Daily at 9am — your timezone.
- Daily at midnight.
- Weekly on Monday.
- Weekly on Friday.
- Monthly on the 1st.
Custom cron
For anything else, use a standard cron expression:
0 */4 * * * # every 4 hours
0 9 * * 1-5 # 9am on weekdays
30 2 * * * # 2:30 AM daily
*/15 * * * * # every 15 minutes (Pro+)
The schedule's timezone is your account timezone (set under Profile). You can override per schedule.
What happens when a schedule fires
- The schedule queues a run for each browser you selected.
- Runs execute in parallel up to your concurrent-runs cap.
- Each run goes through the normal pipeline — auto-heal on locator drift, AI triage on failures.
- When all runs finish, you get a notification (email by default; configurable).
- The schedule's "last run at" timestamp updates; "next run at" rolls forward.
If a run is still running when the next one is scheduled
By default, the new run is skipped — we don't pile up runs. The schedule logs a "skipped" entry. To override, toggle Allow overlapping runs.
If you're at your monthly run limit
Scheduled runs are rejected like any other. The schedule logs a "limit-exceeded" entry. You'll get a plan-limit warning email; consider upgrading or skipping less critical schedules.
Notifications and scheduled runs
Scheduled-run notifications are governed by the scheduled_runs event in Notifications & Alerts. Common patterns:
- Quiet by default — only notify on failure.
scheduled_runs: falseon email,run_failed: trueglobally. - Daily summary — Slack channel gets every scheduled-run completion.
- Critical only — webhook receives all events; email gets failures only.
Pausing and resuming
Click Pause on a schedule to stop it firing. Resume any time — the next-run timestamp recalculates from the moment of resume, so you don't get a flood of "missed" runs.
Editing a schedule
Click into the schedule. Change cadence, browsers, environment, or notifications. Saves take effect immediately; the next firing uses the new config.
Changing the test suite a schedule targets is supported but logged in the audit trail (Pro+) since it materially changes what's being tested.
Schedule history
Every schedule keeps a history of its firings:
- Triggered timestamp.
- Run ID(s).
- Outcome — passed, failed, skipped, limit-exceeded.
Click a history row to open the run page.
Common patterns
Nightly regression
Daily at midnight, run the full project suite on Chromium + Firefox + WebKit, with visual regression on. Notify a Slack channel only on failure.
Pre-deploy smoke
Every 15 minutes during business hours, run a small smoke suite. Catches outages from external dependencies fast.
Release-day stress check
Hourly cadence the day of a release, paused other days. Lets you watch a launch closely without permanent overhead.
Weekly baseline refresh
Combined with Baseline Replays: a Sunday-night full-site scan, set as new baseline; PR replays during the week run against the fresh baseline.
Common questions
Why was a schedule skipped?
Either the previous run was still running (and overlap is off) or you hit your monthly run cap. Check the schedule's history.
Can a schedule run a baseline replay instead of a regular suite run?
Yes — pick "Baseline Replay" instead of a suite when creating the schedule. The replay runs the manifest deterministically on the cadence.
Can I run different schedules in different environments?
Yes (Pro+). Each schedule has an Environment selector. Run staging hourly and production daily, for example.
Related
- Running Tests — manual run flow.
- Notifications & Alerts — what to do with the results.
- Baseline Replays — for deterministic scheduled checks.
- CI/CD Integration — the alternative for PR-driven runs.