Tunnels
Aiqaramba's agents and browsers run inside our network, so they cannot reach an application running on your own machine. A tunnel closes that gap. It exposes one local port to our agents and browsers — and only to them — so you can run your existing tests against a version of your app that is not deployed anywhere yet.
This is the tightest possible feedback loop. You change your app, run it locally, and test it with the same suite your team runs in QA, without waiting for a deploy or a review.
Before you start
Tunnels are opened with the aiqa command-line client. Install it and set your API key first — see the Using the CLI guide. You also need your application running locally on a known port.
Open a tunnel
Run aiqa tunnel with the local port your app listens on. Here the app is on port 8080:
aiqa tunnel 8080
The client opens the tunnel and prints the hostname it was assigned:
Tunneling 127.0.0.1:8080 (only reachable by Aiqaramba's agents and browsers) https://hy26hiw.tunnel.aiqaramba.com Press Ctrl-C to close the tunnel.
The tunnel lives exactly as long as the command. Leave it running while you test, and press Ctrl-C to close it. There is no automatic reconnect: if the connection drops, the command exits and you open a new tunnel, which is assigned a fresh hostname.
The hostname is random and belongs to your organization. You can list your open tunnels at any time:
aiqa tunnels list
Run tests against the tunnel
With the tunnel open, pass its hostname as the tunnel field when you start a run. It is accepted on running a test, running a test plan, and creating a single agent:
aiqa tests run <test-id> --tunnel hy26hiw.tunnel.aiqaramba.com
When you provide a tunnel, the agent is told to test against that host instead of any host named in the test's prompt. So a test written for https://app.example.com runs against your local app instead, with no change to the test itself. Other sites the test visits — for example a third-party login provider — are left on their real addresses.
Leave the tunnel field out and the run behaves exactly as normal, using whatever host the prompt names. Nothing about a test changes until you point it at a tunnel.
Good to know
- The tunnel must stay open for the whole run. The run reaches your machine through the running command, so do not close it until the run finishes.
- The hostname must belong to your organization. A run only accepts a tunnel your own organization opened, so one organization can never reach another's machine.
- One tunnel forwards to one local port. To expose several services, open one tunnel per port.
Where to next
- The Using the CLI guide covers installing
aiqaand calling the rest of the API. - The Tunnels API reference documents the fields and responses for listing tunnels and starting runs against one.