
Visual workflow evidence
OpenFactory drives Firefox in a tester VM and records a scoped run. Visual judgments can be wrong, and guest demo artifacts are public.
Scope before you start: the guest widget accepts only publicly resolvable HTTP(S) targets and publishes its report artifacts. Submit no private URL, credential, personal data, or confidential page. A visual pass is evidence from one VM run, not proof of accessibility, security, compatibility, or production readiness.
Paste a publicly resolvable HTTP(S) URL. The guest demo runs a bounded smoke check in Firefox and records a public report. Do not submit private URLs, credentials, personal data, or confidential pages.
Guest artifacts are public. The demo opens the page, attempts the optional check, and records a visual baseline plus an eight-second stability sample, not a security, accessibility, or production certification. For private reports, sign-in flows, 2FA, multi-step suites, and saved tests, open the console.
Agentic goal steps can capture the screen, choose an action, and inspect the result. That loop is probabilistic: preserve evidence and pair it with exact assertions where correctness matters.
Visible intent can reduce hand-authored selectors, but it can click the wrong target or misread a state. Keep DOM, API, accessibility, security, and data-integrity tests for deterministic contracts.
Firefox runs in an Ubuntu tester VM against the submitted route. That is one browser, viewport, network path, and environment, not a substitute for a browser/device matrix or user research.
Here's an illustrative saved sign-in scenario for the OpenFactory console named console-login-smoke. Each step is written in plain English; the tester resolves every target visually as it goes.
Expected evidence: a status for each defined step plus screenshots and, when enabled, video. Record actual timing and results per run; cache reuse and a prior pass do not guarantee the next result.
Scenario steps mix natural-language targets with explicit actions and thresholds. Drag operations may use offsets; visual grounding and OCR can be wrong, so use exact application assertions where possible.
open_urlNavigate to a URL and confirm the page loaded.
clickClick an element described in plain language.
typeType into a field; supports ${secrets} and variables.
keyPress a key: Enter, Tab, Escape, Shift+Tab…
waitPause, or wait until an element appears.
assert_textCheck that text is visible on screen (OCR).
assert_visualPerceptual-hash baseline to catch layout & render drift.
assert_stableSoak a region over time for flicker or disappearance.
dragDrag-and-drop by pixel offset or onto another element.
email_otpFetch a one-time code from email and type it in.
Confirm a phrase is on screen. The check survives restyles and DOM churn.
Evaluate semantic states, while allowing for false positives and false negatives.
Detect image-distance changes within a configured threshold; review whether each change matters.
Sample flicker or disappearance over 1–120 seconds; it does not prove long-term stability.
Saved scenarios can reuse cached targets and fall back to parsing when a target no longer matches. Cache reuse is not a speed or correctness guarantee.
Runs can preserve screenshots, MP4 video, and HTML reports. Saved reports default private; the guest demo intentionally produces a public report.
Queue a whole suite, project, or app across leased tester VMs. Actual concurrency depends on pool capacity and busy tests queue.
Saved secrets live in the platform key store; one-run overrides are not persisted. Email OTP requires an active managed Gmail connection and a dedicated test account.
Organize tests in a tree with a run-history strip so you can spot solid, broken, and flaky at a glance.
Drive it from the dashboard, the openfactory CLI, or AI agents via the MCP tools.
*.apps.openfactory.tech URL.Vision-driven goal steps can follow visible intent without a selector for every action, but they are probabilistic. Playwright or Selenium remains valuable for exact DOM, browser, network, and API assertions. Use the approaches together rather than treating one as a universal replacement.
The guest demo needs no signup, but it only accepts HTTP(S) hosts that resolve to global addresses, is rate-limited, and may queue behind the shared tester pool. Its report, screenshots, and video are public: submit no private URL, token, personal data, or confidential content.
The guest demo accepts only publicly resolvable HTTP(S) targets. Authenticated console scenarios can also reach routes available from their tester VM under the deployment's network policy. Reachability, authorization, and a passing smoke test are separate properties.
Saved scenarios can resolve key-store passwords and TOTP seeds, or read an emailed code from an active managed Gmail connection. Use dedicated test accounts, keep secrets out of definitions and screenshots, review the provider data path, and test revocation. These richer flows run from the authenticated console.
How visual testing complements deterministic assertions, and where it can fail.
Re-run a whole suite on a fleet of isolated tester VMs.
Deploy on OpenFactory, then test the live URL immediately.
Build the bootable stack your app runs on.
Use OpenFactory to turn the same requirements into a bootable, testable Linux system.