Skip to main content
Version: 1.0.8

Appium Config

How to point an Appium or WebDriver client at MobileHub.

Hub URL​

https://api.rabbitqa.com/df/wd/hub
SettingValue
Protocolhttps
Hostapi.rabbitqa.com
Port443
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.

CapabilityTypeDefaultDescription
df:apiKeystring—API key for authentication; required
df:deviceIdstring—A specific device, as an alternative to appium:udid
df:resignbooleantrueRe-sign iOS apps before install
df:liveViewbooleanfalseStream live video during the automation run
df:deviceControlbooleanfalseAllow manual control — touch and keyboard — during the run; turns on live view
df:accessibilityAuditbooleanfalseEnable the native and mobile-web accessibility audit API
df:accessibilityOptionsobject—Report name, WCAG level, screenshots, passes, and the severities that fail
df:recordVideobooleanfalseRecord video of the session
df:recordLogsbooleantrueCapture 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.

FormInstalls
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.

ValueMatchesDoes not match
"13"1313.0, 13.0.1, 14
"13.0"13.013, 13.0.1, 13.1
"13.*"13, 13.0, 13.0.1, 13.114, 12.x
"17.1.x"17.1, 17.1.0, 17.1.217, 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​

iOS re-signing

Set df:resign to false when the IPA is already signed with the profile you want.

Device selection

Use df:deviceId or appium:udid for a specific device, or leave both out to take any available one.

Watching a run

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.