Appium Config
How to point an Appium or WebDriver client at MobileHub.
Hub URL
https://api.rabbitqa.com/df/wd/hub
| Setting | Value |
|---|---|
| Protocol | https |
| Host | api.rabbitqa.com |
| Port | 443 |
| Path | /df/wd/hub |
The gateway registers /df/wd/** and strips the /df prefix before forwarding, so the hub path must include it.
Authenticate with the df:apiKey capability or the X-API-Key header.
Create a key on the Settings page.
MobileHub Capabilities
Alongside the standard appium: capabilities, MobileHub accepts these.
| Capability | Type | Default | Description |
|---|---|---|---|
df:apiKey | string | — | API key for authentication; required |
df:deviceId | string | — | A specific device, as an alternative to appium:udid |
df:resign | boolean | true | Re-sign iOS apps before install |
df:liveView | boolean | false | Stream live video during the automation run |
df:deviceControl | boolean | false | Allow manual control — touch and keyboard — during the run; turns on live view |
df:accessibilityAudit | boolean | false | Enable the native and mobile-web accessibility audit API |
df:accessibilityOptions | object | — | Report name, WCAG level, screenshots, passes, and the severities that fail |
df:recordVideo | boolean | false | Record video of the session |
df:recordLogs | boolean | true | Capture device logs during the session |
Build Grouping
Set df:options.buildName to group sessions from the same run into a build.
Builds appear under Automated Testing; sessions without a build name are listed individually.
Use your CI build number or a version tag so a build maps to something real in your pipeline.
Automation sessions also display a project name and tags where the run reports them.
App Installation
Point appium:app at a df:// URL to install an app that already lives in MobileHub.
| Form | Installs |
|---|---|
df://app-version/{versionId} | A version from the app catalog — preferred |
df://{fileId} | A raw file from the repository |
df://firebase/{connectionId}/{projectNumber}/{appId}/{releaseId} | A Firebase App Distribution release |
When you supply appium:app, the bundle ID or app package is extracted and set for you.
Platform Version Matching
appium:platformVersion accepts a wildcard suffix, .* or .x, for prefix matching.
| Value | Matches | Does not match |
|---|---|---|
"13" | 13 | 13.0, 13.0.1, 14 |
"13.0" | 13.0 | 13, 13.0.1, 13.1 |
"13.*" | 13, 13.0, 13.0.1, 13.1 | 14, 12.x |
"17.1.x" | 17.1, 17.1.0, 17.1.2 | 17, 17.0, 17.2 |
Example
{
"platformName": "Android",
"appium:automationName": "UiAutomator2",
"appium:deviceName": "Android Device",
"appium:app": "df://app-version/YOUR_VERSION_ID",
"df:apiKey": "df_auto_xxxxx"
}
For iOS, the generator produces XCUITest as the automation name and iPhone as the device name.
Generating a Config
Rather than writing capabilities by hand, use the config generator on the Settings page. It picks the platform, app, version, and device from dropdowns, and produces both the capability JSON and a code example in Java, Python, Node.js, or cURL.
Tips
Set df:resign to false when the IPA is already signed with the profile you want.
Use df:deviceId or appium:udid for a specific device, or leave both out to take any available one.
Set df:liveView to stream the run, and df:deviceControl when you want to be able to take over by hand.
Reporting Results
The hub runs your tests; it does not know whether they passed. Report results with the test event API described in Automated Testing.