Venelx Docs

Web testing (Playwright)

Web testing checks a website automatically: it crawls the pages, runs no-code click-through flows, compares screenshots against a baseline and alerts you when something breaks. Websites are standalone — you don't need a mobile project. Tests run on a build worker.

Open Web tests: app.venelx.com/web-tests.

Add a website

Click Add website and give it a name, then pick how to test it:

  • Live website URL — a production, staging or preview site that is already running.
  • Import Git repository — pick a GitHub repository and branch; Venelx builds and starts the site on the worker, then tests it. Uses your connected GitHub account.

Each website has four tabs: Runs, Tests & schedule, Secrets and Website. Testing is off until you enable it in Tests & schedule.

What gets tested

A website has one or more targets (for example production and staging). For each target you choose the checks:

CheckWhat it does
Site checkCrawls pages (you set max pages, depth and excluded paths) and flags errors, broken pages and console or request errors.
FlowsRuns your no-code flows (below).
Visual diff vs baselineScreenshots each page and compares to the approved baseline, with a threshold in percent.
Accessibility (axe)Runs an accessibility scan on pages.
Code tests from the repoRuns Playwright tests from your repository (repository mode).

Other target options: desktop and/or mobile viewport, crawl limits, allowed console errors per page, timeout, and an optional branch preview URL template (use a {branch} placeholder, for example a Vercel-style preview address) so you can test a specific branch.

Sign-in: for sites behind a login you can use HTTP basic auth, custom headers, cookies, or a login-page flow. Store the values as secrets and reference them as {{env.KEY}}.

Repository mode also lets you override the install, build and start commands, set a root directory for monorepos, choose a port, and pass environment variables from your secrets.

Flows (no code)

A flow is a named list of steps starting at a path. Available steps: go to page, click, type into a field, choose an option, press a key, hover, wait for, expect text, expect element visible, expect URL contains, expect no console errors, screenshot (adds a visual baseline), and sign in. In the editor, steps are chosen from a menu. You can check a flow without saving it with the MCP validate_web_flow tool.

When tests run

  • Manually — Run web tests on the Runs tab.
  • On a schedule — hourly, every 6 hours, daily or weekly, with a time of day, weekday and timezone.
  • On a deploy webhook — turn on the webhook and save to get a URL. POST to it from your CI after a deploy (optionally with JSON such as {"url":"https://...","branch":"main"}), or add it as a deployment webhook in Vercel or Netlify. Treat the URL as a secret.

Notifications: Notify on failure and on recovery, in the dashboard and to Slack or Discord webhooks you set on the Website tab.

Results and visual baselines

The Runs tab lists runs with status and a summary of pages, flows and visual differences. Open a run for per-page results, console errors and screenshots (baseline, current and diff).

The first run creates the baseline. When a visual change is intentional, click Approve all as baseline on the run, or approve a single page; later runs compare against it.

Secrets

The Secrets tab stores values (encrypted, never shown again) for sign-in and for repository-mode builds. Use them in flows and sign-in as {{env.KEY}}. A secret named GITHUB_TOKEN is used to clone private repositories.

MCP tools

ToolScopeWhat it does
list_web_sitesreadLists websites with last status and schedule.
web_test_runsreadLists recent runs for a site, or full results for one run.
get_web_site_configreadReturns the targets, flows, schedule, triggers and notifications.
run_web_testwriteQueues a run; optional target, branch or URL override.
create_web_sitewriteAdds a website (URL and/or GitHub repo).
update_web_sitewriteRenames, or changes the URL, repo, Slack or Discord webhook.
update_web_site_configwriteReplaces the targets, flows, schedule, triggers or notifications you pass.
set_web_site_secretswriteSets or deletes secrets.
validate_web_flowwriteValidates and normalizes a flow without saving.
approve_web_baselinewriteAccepts a run's screenshots as the new baseline.
delete_web_sitewritePermanently deletes a site with its runs and baselines.

See MCP for setup.