nth Labs Help centre
⌘K
Open console

Get started

Testing behind a login

Most of what is worth testing sits behind a sign-in. The usual way to automate that is to teach the tool your password, which breaks the moment SSO or 2FA is involved. This does the opposite.

How it works

You sign in, in your own browser, however your product actually works: Google, Okta, a magic link, an authenticator app. Then you hand the resulting session to nth Labs:

node cli.cjs session

It imports the browser storage state. The sign-in happened where you were; nothing here ever sees a password, and there is no recipe to keep working when your login page changes.

Running past the wall

node cli.cjs wander --signed-in
node cli.cjs wander --signed-in --mission onboard-a-second-user

--signed-in tells a run to use the imported session. --mission gives the tester a goal rather than letting it roam, which is what you want once you are testing a flow rather than a surface.

Use an account you can throw away

This matters more than it sounds

A run drives a real browser as a real signed-in user. It will click things. Give it a test account on a staging environment, not your own production login, and never an account with billing or admin rights.

The imported session is stored under the account directory with owner-only permissions, and it is not encrypted at rest.

When it stops working

Sessions expire. When a signed-in run starts behaving like a logged-out one, that is almost always what happened. re-import and run again. node cli.cjs doctor checks the session among everything else and will tell you plainly.