Appium Capabilities

Appium Capabilities

Momentum Suite M-Live supports the latest WebDriver W3C Protocol for Appium tests. Desired Capabilities can be scripted in the WebDriver test or set within the Appium Inspector.

Automation Capabilities:

Use your favourite programming language and test framework! We support all testing frameworks that appium supports.

JavaNodeJSPythonC#RubyPHPPerl
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// Use Java Client v6.0.0 or above
DesiredCapabilities capabilities = new DesiredCapabilities();
HashMap<String, Object> momentumOptions = new HashMap<String, Object>();
momentumOptions.put("user", "momentumUser");
momentumOptions.put("token", "momentumToken");
momentumOptions.put("gw", momentumDeviceId);
capabilities.setCapability("momentum:options", momentumOptions);
capabilities.setCapability("appium:platformName", "Android");
capabilities.setCapability("appium:automationName", "UIAutomator2");
capabilities.setCapability("appium:language", "en");
capabilities.setCapability("appium:locale", "en");
capabilities.setCapability("appium:deviceName", "");
capabilities.setCapability("appium:udid", "");
capabilities.setCapability("appium:app", "ms://momentumAppId");
capabilities.setCapability("appium:fullReset", true);
capabilities.setCapability("appium:noReset", false);
// Use Java Client v6.0.0 or above DesiredCapabilities capabilities = new DesiredCapabilities(); HashMap<String, Object> momentumOptions = new HashMap<String, Object>(); momentumOptions.put("user", "momentumUser"); momentumOptions.put("token", "momentumToken"); momentumOptions.put("gw", momentumDeviceId); capabilities.setCapability("momentum:options", momentumOptions); capabilities.setCapability("appium:platformName", "Android"); capabilities.setCapability("appium:automationName", "UIAutomator2"); capabilities.setCapability("appium:language", "en"); capabilities.setCapability("appium:locale", "en"); capabilities.setCapability("appium:deviceName", ""); capabilities.setCapability("appium:udid", ""); capabilities.setCapability("appium:app", "ms://momentumAppId"); capabilities.setCapability("appium:fullReset", true); capabilities.setCapability("appium:noReset", false);
// Use Java Client v6.0.0 or above
DesiredCapabilities capabilities = new DesiredCapabilities();
HashMap<String, Object> momentumOptions = new HashMap<String, Object>();
momentumOptions.put("user", "momentumUser");
momentumOptions.put("token", "momentumToken");
momentumOptions.put("gw", momentumDeviceId);
capabilities.setCapability("momentum:options", momentumOptions);
capabilities.setCapability("appium:platformName", "Android");
capabilities.setCapability("appium:automationName", "UIAutomator2");
capabilities.setCapability("appium:language", "en");
capabilities.setCapability("appium:locale", "en");
capabilities.setCapability("appium:deviceName", "");
capabilities.setCapability("appium:udid", "");
capabilities.setCapability("appium:app", "ms://momentumAppId");
capabilities.setCapability("appium:fullReset", true);
capabilities.setCapability("appium:noReset", false);
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// Use Node(WebDriverIO) client v6 and above
var capabilities = {
'momentum:options' : {
"user" : "momentumUser",
"token" : "momentumToken",
"gw" : momentumDeviceId,
},
"platformName" : "android",
"appium:automationName" : "UIAutomator2",
"appium:language" : "en",
"appium:locale" : "en",
"appium:deviceName" : "",
"appium:udid" : "",
"appium:app" : "ms://momentumAppId",
"appium:fullReset" : true,
"appium:noReset" : false,
}
// Use Node(WebDriverIO) client v6 and above var capabilities = { 'momentum:options' : { "user" : "momentumUser", "token" : "momentumToken", "gw" : momentumDeviceId, }, "platformName" : "android", "appium:automationName" : "UIAutomator2", "appium:language" : "en", "appium:locale" : "en", "appium:deviceName" : "", "appium:udid" : "", "appium:app" : "ms://momentumAppId", "appium:fullReset" : true, "appium:noReset" : false, }
// Use Node(WebDriverIO) client v6 and above
var capabilities = {
'momentum:options' : {
"user" : "momentumUser",
"token" : "momentumToken",
"gw" : momentumDeviceId,
},
"platformName" : "android",
"appium:automationName" : "UIAutomator2",
"appium:language" : "en",
"appium:locale" : "en",
"appium:deviceName" : "",
"appium:udid" : "",
"appium:app" : "ms://momentumAppId",
"appium:fullReset" : true,
"appium:noReset" : false,
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Use Appium-Python-Client v0.27 or above
desired_cap = {
'momentum:options' : {
"user" : "momentumUser",
"token" : "momentumToken",
"gw" : momentumDeviceId,
},
"platformName" : "android",
"appium:automationName" : "UIAutomator2",
"appium:language" : "en",
"appium:locale" : "en",
"appium:deviceName" : "",
"appium:udid" : "",
"appium:app" : "ms://momentumAppId",
"appium:fullReset" : true,
"appium:noReset" : false,
}
# Use Appium-Python-Client v0.27 or above desired_cap = { 'momentum:options' : { "user" : "momentumUser", "token" : "momentumToken", "gw" : momentumDeviceId, }, "platformName" : "android", "appium:automationName" : "UIAutomator2", "appium:language" : "en", "appium:locale" : "en", "appium:deviceName" : "", "appium:udid" : "", "appium:app" : "ms://momentumAppId", "appium:fullReset" : true, "appium:noReset" : false, }
# Use Appium-Python-Client v0.27 or above
desired_cap = {
'momentum:options' : {
"user" : "momentumUser",
"token" : "momentumToken",
"gw" : momentumDeviceId,
},
"platformName" : "android",
"appium:automationName" : "UIAutomator2",
"appium:language" : "en",
"appium:locale" : "en",
"appium:deviceName" : "",
"appium:udid" : "",
"appium:app" : "ms://momentumAppId",
"appium:fullReset" : true,
"appium:noReset" : false,
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
// Use dot net bindings v4.0.0 or above
AppiumOptions capabilities = new AppiumOptions();
Dictionary<string, object> momentumOptions = new Dictionary<string, object>();
momentumOptions.Add("user", "momentumUser");
momentumOptions.Add("token", "momentumToken");
momentumOptions.Add("gw", momentumDeviceId);
capabilities.AddAdditionalCapability("momentum:options", momentumOptions);
capabilities.AddAdditionalCapability("platformName", "android");
capabilities.AddAdditionalCapability("appium:automationName", "UIAutomator2");
capabilities.AddAdditionalCapability("appium:language", "en");
capabilities.AddAdditionalCapability("appium:locale", "en");
capabilities.AddAdditionalCapability("appium:deviceName", "");
capabilities.AddAdditionalCapability("appium:udid", "");
capabilities.AddAdditionalCapability("appium:app", "ms://momentumAppId");
capabilities.AddAdditionalCapability("appium:fullReset", true);
capabilities.AddAdditionalCapability("appium:noReset", false);
// Use dot net bindings v4.0.0 or above AppiumOptions capabilities = new AppiumOptions(); Dictionary<string, object> momentumOptions = new Dictionary<string, object>(); momentumOptions.Add("user", "momentumUser"); momentumOptions.Add("token", "momentumToken"); momentumOptions.Add("gw", momentumDeviceId); capabilities.AddAdditionalCapability("momentum:options", momentumOptions); capabilities.AddAdditionalCapability("platformName", "android"); capabilities.AddAdditionalCapability("appium:automationName", "UIAutomator2"); capabilities.AddAdditionalCapability("appium:language", "en"); capabilities.AddAdditionalCapability("appium:locale", "en"); capabilities.AddAdditionalCapability("appium:deviceName", ""); capabilities.AddAdditionalCapability("appium:udid", ""); capabilities.AddAdditionalCapability("appium:app", "ms://momentumAppId"); capabilities.AddAdditionalCapability("appium:fullReset", true); capabilities.AddAdditionalCapability("appium:noReset", false);
// Use dot net bindings v4.0.0 or above
AppiumOptions capabilities = new AppiumOptions();
Dictionary<string, object> momentumOptions = new Dictionary<string, object>();
momentumOptions.Add("user", "momentumUser");
momentumOptions.Add("token", "momentumToken");
momentumOptions.Add("gw", momentumDeviceId);

capabilities.AddAdditionalCapability("momentum:options", momentumOptions);
capabilities.AddAdditionalCapability("platformName", "android");
capabilities.AddAdditionalCapability("appium:automationName", "UIAutomator2");
capabilities.AddAdditionalCapability("appium:language", "en");
capabilities.AddAdditionalCapability("appium:locale", "en");
capabilities.AddAdditionalCapability("appium:deviceName", "");
capabilities.AddAdditionalCapability("appium:udid", "");
capabilities.AddAdditionalCapability("appium:app", "ms://momentumAppId");
capabilities.AddAdditionalCapability("appium:fullReset", true);
capabilities.AddAdditionalCapability("appium:noReset", false);
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
# Use Ruby Client version v9.8.1 or above
capabilities = {
'momentum:options' => {
"user" => "momentumUser",
"token" => "momentumToken",
"gw" => momentumDeviceId,
},
"platformName" => "android",
"appium:automationName" => "UIAutomator2",
"appium:language" => "en",
"appium:locale" => "en",
"appium:deviceName" => "",
"appium:udid" => "",
"appium:app" => "ms://momentumAppId",
"appium:fullReset" => "true",
"appium:noReset" => "false",
}
# Use Ruby Client version v9.8.1 or above capabilities = { 'momentum:options' => { "user" => "momentumUser", "token" => "momentumToken", "gw" => momentumDeviceId, }, "platformName" => "android", "appium:automationName" => "UIAutomator2", "appium:language" => "en", "appium:locale" => "en", "appium:deviceName" => "", "appium:udid" => "", "appium:app" => "ms://momentumAppId", "appium:fullReset" => "true", "appium:noReset" => "false", }
# Use Ruby Client version v9.8.1 or above
capabilities = {
'momentum:options' => {
"user" => "momentumUser",
"token" => "momentumToken",
"gw" => momentumDeviceId,
},
"platformName" => "android",
"appium:automationName" => "UIAutomator2",
"appium:language" => "en",
"appium:locale" => "en",
"appium:deviceName" => "",
"appium:udid" => "",
"appium:app" => "ms://momentumAppId",
"appium:fullReset" => "true",
"appium:noReset" => "false",
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$caps = array(
'momentum:options' => array(
"user" => "momentumUser",
"token" => "momentumToken",
"gw" => "momentumDeviceId",
),
"platformName" => "android",
"appium:automationName" => "UIAutomator2",
"appium:language" => "en",
"appium:locale" => "en",
"appium:deviceName" => "",
"appium:udid" => "",
"appium:app" => "ms://momentumAppId",
"appium:fullReset" => "true",
"appium:noReset" => "false",
)
$caps = array( 'momentum:options' => array( "user" => "momentumUser", "token" => "momentumToken", "gw" => "momentumDeviceId", ), "platformName" => "android", "appium:automationName" => "UIAutomator2", "appium:language" => "en", "appium:locale" => "en", "appium:deviceName" => "", "appium:udid" => "", "appium:app" => "ms://momentumAppId", "appium:fullReset" => "true", "appium:noReset" => "false", )
$caps = array(
'momentum:options' => array(
"user" => "momentumUser",
"token" => "momentumToken",
"gw" => "momentumDeviceId",
),
"platformName" => "android",
"appium:automationName" => "UIAutomator2",
"appium:language" => "en",
"appium:locale" => "en",
"appium:deviceName" => "",
"appium:udid" => "",
"appium:app" => "ms://momentumAppId",
"appium:fullReset" => "true",
"appium:noReset" => "false",
)
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
my $extraCaps = {
'momentum:options' => {
"user" => "momentumUser",
"token" => "momentumToken",
"gw" => "momentumDeviceId",
},
"platformName" => "android",
"appium:automationName" => "UIAutomator2",
"appium:language" => "en",
"appium:locale" => "en",
"appium:deviceName" => "",
"appium:udid" => "",
"appium:app" => "ms://momentumAppId",
"appium:fullReset" => "true",
"appium:noReset" => "false",
}
my $extraCaps = { 'momentum:options' => { "user" => "momentumUser", "token" => "momentumToken", "gw" => "momentumDeviceId", }, "platformName" => "android", "appium:automationName" => "UIAutomator2", "appium:language" => "en", "appium:locale" => "en", "appium:deviceName" => "", "appium:udid" => "", "appium:app" => "ms://momentumAppId", "appium:fullReset" => "true", "appium:noReset" => "false", }
my $extraCaps = {
	'momentum:options' => {
		"user" => "momentumUser",
		"token" => "momentumToken",
		"gw" => "momentumDeviceId",
	},
	"platformName" => "android",
	"appium:automationName" => "UIAutomator2",
	"appium:language" => "en",
	"appium:locale" => "en",
	"appium:deviceName" => "",
	"appium:udid" => "",
	"appium:app" => "ms://momentumAppId",
	"appium:fullReset" => "true",
	"appium:noReset" => "false",
}
Appium Inspector Capabilities:

Here is the all technical information about open source Appium GUI inspector for mobile apps and more.

  • Remote Host: console.momentumsuite.com
  • Remote Path: /gateway/wd/hub
  • Port: 443
  • SSL: True

JSON Representation:

AndroidiOS
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
{
"appium:automationName": "UiAutomator2",
"appium:app": "ms://<hashed-app-id>",
"appium:udid": "",
"appium:deviceName": "",
"platformName": "Android",
"momentum:options": {
"user": "<momentum-suite-username>",
"token": "<momentum-suite-access-key>",
"gw": "<momentum-device-id>"
}
}
{ "appium:automationName": "UiAutomator2", "appium:app": "ms://<hashed-app-id>", "appium:udid": "", "appium:deviceName": "", "platformName": "Android", "momentum:options": { "user": "<momentum-suite-username>", "token": "<momentum-suite-access-key>", "gw": "<momentum-device-id>" } }
{
  "appium:automationName": "UiAutomator2",
  "appium:app": "ms://<hashed-app-id>",
  "appium:udid": "",
  "appium:deviceName": "",
  "platformName": "Android",
  "momentum:options": {
    "user": "<momentum-suite-username>",
    "token": "<momentum-suite-access-key>",
    "gw": "<momentum-device-id>"
  }
}
Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
{
"appium:automationName": "XCUITest",
"appium:app": "ms://<hashed-app-id>",
"appium:udid": "",
"appium:deviceName": "",
"appium:remoteDebugProxy": "<momentum-gw-value>+2000",
"platformName": "iOS",
"momentum:options": {
"user": "<momentum-suite-username>",
"token": "<momentum-suite-access-key>",
"gw": "<momentum-device-id>"
}
}
{ "appium:automationName": "XCUITest", "appium:app": "ms://<hashed-app-id>", "appium:udid": "", "appium:deviceName": "", "appium:remoteDebugProxy": "<momentum-gw-value>+2000", "platformName": "iOS", "momentum:options": { "user": "<momentum-suite-username>", "token": "<momentum-suite-access-key>", "gw": "<momentum-device-id>" } }
{
  "appium:automationName": "XCUITest",
  "appium:app": "ms://<hashed-app-id>",
  "appium:udid": "",
  "appium:deviceName": "",
  "appium:remoteDebugProxy": "<momentum-gw-value>+2000",
  "platformName": "iOS",
  "momentum:options": {
    "user": "<momentum-suite-username>",
    "token": "<momentum-suite-access-key>",
    "gw": "<momentum-device-id>"
  }
}

Here is the full list of Appium Desired Capabilities.


List of client libraries with Appium server support

Language/FrameworkGithub Repo and Installation Instructions
Rubyhttps://github.com/appium/ruby_libhttps://github.com/appium/ruby_lib_core
Pythonhttps://github.com/appium/python-client
Javahttps://github.com/appium/java-client
C# (.NET)https://github.com/appium/appium-dotnet-driver
JavaScript (Node.js)https://github.com/webdriverio/webdriverio
RobotFrameworkhttps://github.com/serhatbolsu/robotframework-appiumlibrary

List of sample Appium projects

Language/FrameworkSample automation project and Github repository
Java (Maven)https://www.momentumsuite.com/docs/appium-java-testing/
JS (WebdriverIO)https://www.momentumsuite.com/docs/appium-js-testing/
Python (Pytest)https://www.momentumsuite.com/docs/appium-python-testing/
C# (Nunit)https://www.momentumsuite.com/docs/appium-csharp-c-testing/
Note:
JSON Wire Protocol is still compatible with Momentum Suite, but there will be no documentation for these old clients.
Related Posts