THE PRODUCT

Real interactions.
Clear results.

A test is more useful when you can read the action, see it happen and inspect the point it failed.

THE VISUAL PLAYER

Keep the whole
sequence in view.

Try a short illustrative replay. The browser demo is not connected to a native application.

testhand-player / smoke.testhand
smoke.testhandILLUSTRATIVE DEMO
TEST SEQUENCE 5 steps
01
Launch applaunch -- /path/to/YourApp
02
Type a nametype Ada --target #nameEdit
03
Click Greetclick #greetButton
04
Check the greetingwait #greetingLabel --for property
05
Capture the resultscreenshot --out result.png
Greeting demo

A small app. A real workflow.

Waiting to say hello.Your test starts with an action.
Ready to replay

Browser simulation for design review—not a live native test or captured application screenshot.

NO BLACK BOX

A test you can read.
And change.

Plain-text .testhand scripts keep targets, values and waits inspectable.

Small commands. Real actions.

Name a control, type a value, wait for a property and save the evidence. Edit the script without repeating the whole recording.

Stop where it matters.

The visual player supports step-by-step playback and breakpoints. On a failed step, inspect the error and the screenshot captured at that moment.

smoke.testhand / plain text
# Launch and connect to your app first.
type 'Ada' --target '#nameEdit'
click '#greetButton'
wait '#greetingLabel' --for property \
  --property text --value 'Hello, Ada!'
screenshot --out result.png

CHOOSE THE RIGHT TARGET

The application decides
the way in.

Local testing. Real platform differences.macOS, Linux and Windows support differs. External desktop access may require OS permissions; available targets depend on accessibility support. No universal app compatibility or zero-permission promise.

FROM AN IDEA TO A REPEATABLE TEST

Your next test.
A little more human.

Choose the right backend, connect to your application and start with one small workflow.

Get started