gpt-driver-node) wraps your existing WebdriverIO + Appium session. You keep writing normal Appium code, and the SDK adds AI commands (aiExecute, assert, extract, …) on top of the same browser instance. Nothing about your existing setup has to change.
This SDK is for engineers who already run Appium tests in code. If you are looking for the no-code recorder and cloud runner, see QA Studio instead.
Prerequisites
A working WebdriverIO + Appium project. If you are starting from scratch, install Appium and the platform drivers:Installation
Add the SDK to your project:Configure WebdriverIO
Yourwdio.conf.js (or .ts) stays a standard WebdriverIO config. Two things matter for the SDK:
- Your Appium capabilities (the app and device under test).
- Where you keep your GPT Driver API key. A convenient pattern is a custom top-level field so every spec can read it from
browser.options:
wdio.conf.js
The long Mocha
timeout matters: AI fallback steps can take several seconds, so keep the per-test timeout generous.Wire the SDK into a spec
Construct aGptDriver and hand it the live WebdriverIO browser. The SDK attaches to that session and reuses it. A beforeEach keeps one instance per test:
test/specs/login.spec.js
What each option does
| Option | Required | Description |
|---|---|---|
apiKey | yes | Your GPT Driver API key. |
driver | yes* | An existing WebdriverIO / Appium browser. The SDK runs on this session. |
serverConfig.url | yes | The Appium server URL (required whenever you pass a driver). |
cachingMode | no | Default caching for AI steps. Defaults to "NONE". |
testId | no | A label for this run, shown on the dashboard. |
appId | no | App identifier (appPackage / bundleId); auto-read from the session when omitted. |
additionalUserContext | no | Free-text guidance passed to the AI on every AI step (for example, "When asked about Location Permissions, grant it."). |
*If you do not pass an existing
driver, provide serverConfig.url and serverConfig.device.platform and the SDK will start its own Appium session. Attaching to your existing browser is the common case and keeps the SDK in your normal WebdriverIO lifecycle.Session lifecycle
You do not start the session manually. It starts automatically on the first AI command (aiExecute, assert, extract, …). In case an AI step fails the test, we’ll set the test status in the dashboard to failed automatically. For successful tests, report the outcome so it is recorded on the dashboard:
Run your tests
Start the Appium server (or use theappium WebdriverIO service) and run WebdriverIO as usual:
Next steps
Deterministic execution
Run native Appium code first and only fall back to AI when it fails. The fastest, most stable way to use the SDK.
Reference
Every constructor option and command.

