Help · Beta

FAQ

Short answers for beta status, AutomationId portability, and common gotchas. Full walkthrough: product docs.

What does “beta” mean here?

Early software you can already use for attach → record → play, but it is not finished. Expect rough edges, unsigned Setup / SmartScreen, and occasional UX changes. Installed Setup builds get a free 30-day device trial on first launch.

Do I need a license key?

Not on first install. The Setup auto-starts a free 30-day beta on this PC (no paste required). Check remaining time under Settings → Beta license (“Free beta — N days left”).

When that period ends, request a renewal key via Contact (choose “Request a beta license key”). Paste the key that starts with LH1. on the activation panel. Keys are bound to this PC/user. See docs → Beta license.

Can I write one test and play it on every platform?

That’s the credo: write once, test everywhere. Put a shared AutomationId on the control in Flutter, .NET MAUI, or any stack that exposes the same id on each OS. Today Lighthouse records and plays by that id on Windows and Android. Prefer ids over bounds and class names; use Import / Check portability when you switch.

Is iOS supported?

Not yet. iOS inspect / record / playback is not in this beta. Keep using shared AutomationIds in Flutter / MAUI so the same suite can target iOS when it lands.

Is Lighthouse a WinAppDriver or FlaUI alternative?

For visual record and replay of Windows UI tests — yes: attach, click the inspector map, replay. It is not a drop-in library for every FlaUI / WinAppDriver code suite. Honest table: WinAppDriver & FlaUI alternative.

Windows blocked the installer (SmartScreen). Is that normal?

Yes for unsigned beta builds. Click More info, then Run anyway. We plan to add code signing later.

Where are my tests saved?

Per project under %LocalAppData%\Lighthouse.Tests.Suite\apps\. The Tests column caption is the project name (rename via ⋯ → Rename project…). Logs live in %LocalAppData%\Lighthouse.Tests.Suite\logs\.

Can I run tests from the command line?

Yes. Build lighthouse.exe with ./scripts/publish-cli.ps1, then:

lighthouse projects · lighthouse run --project YourName

Console shows per-test [PASS]/[FAIL] (colored); step details go in the JSON report. Every run prints SUMMARY and REPORT. Full reference: docs → CLI.

What is the script editor?

Press Ctrl+E for a text view of the current test (startApp, tapOn, assertText, takeScreenshot, …). The step list stays in sync; ? (or Settings → Script commands…) opens the command Help; insert tapOn from the Inspector selection; failures open the script on the failed line with the console under the editor (Copy / resize). Shortcuts: Ctrl+Enter run, Ctrl+Z undo. See docs → Script.

How do screenshot asserts work?

Use the Inspector camera / assert icons or script (takeScreenshot / assertScreenshot (optional region #id, sensitivity high / moderate / low). For CI, Settings → Export suite JSON + screenshots… writes baselines next to the suite for lighthouse run --script. Failures include baseline / actual / diff images. Details: docs → Screenshots.

Where do I change timeouts, font size, or export defaults?

Open Settings: find/wait timeout, script font size, open script by default, preferred export format, screenshot baselines folder, Help (commands / shortcuts / tutorial), and LH1 license renew. See docs → Settings.

Can I import YAML flows that use runFlow?

Yes. Import tests… inlines nested runFlow files (paths relative to the file you pick) and inline commands:. Cycles and missing files are skipped with warnings. env: / runFlow.env merge into suite Variables. See docs → Import YAML.

How do suite variables (${NAME}) work?

Set them under Tests ⋯ → Variables… (KEY=value lines), or import YAML env:. Use ${USER} / ${env.USER} in script text and targets; values expand when you Run (not while typing). CLI: --var USER=demo or LIGHTHOUSE_VAR_USER. Unresolved names fail the run with a clear error. See docs → Script.

Android Connect fails — what should I install?

Lighthouse does not bundle adb or Appium. Use Inspector Setup Android… for a checklist, copyable install commands (winget / npm), and docs. Connect auto-starts Appium from PATH when present. See docs → Android.

Attach failed / Access Denied on an elevated app

UI Automation cannot cross integrity levels. Run Lighthouse as Administrator, or start the target app without elevation. See known limits.

How do updates work?

Installed Setup builds can use Settings → Check for updates… when a public update feed is configured. Debug / dotnet run builds do not self-update.

Can I get the source code?

Source is not open for reuse. Contact us if you need a commercial discussion — do not assume an open-source license.

How do I record on Android?

Connect the device/emulator, press Start Recording in the Inspector (F9), then left-click elements on the Inspector map (the device follows). When available, live taps (adb) and EnterText from a focused field may also record. Full emulator input hooking is still limited — prefer the map for reliable steps.

Why is the Download button asking me to contact you?

That only happens when no installer is published yet. After pack-release.ps1 -PublishToWebsite (or R2 publish), Download points at the Setup.exe.

Download asks for .NET / fails to start

Smaller website builds are framework-dependent and need the .NET 10 Desktop Runtime. When we ship a self-contained build (hosted on Cloudflare R2), the runtime is bundled and that install step is not required — the download hint on the home page says which kind you have.

Does the website track me?

See Privacy. Theme preference is stored in your browser only; the desktop app keeps data on your PC.