Nick Abalov edited this page Oct 29, 2016 · 12 revisions

Table of Contents


The absolute local path to an .appx file to be installed and launched. Note that this capability is not required if debugConnectToRunningApp is specified.

e.g., C:\test\app.appx


Dictionary. Each key of the dictionary is "local file path", each corresponding value is "remote file path".

e.g., { 'C:\AppFiles\downloadedPicture.png': 'download\picture.png' }


List of dependencies to be installed before installing the app. Each item should contain absolute path to dependency package.

e.g., [ 'C:\test\dep1.appx', 'C:\test\dep2.appx' ]


Name of emulator to use for running test. Note that this capability is not required, if no device name is specified, then a default emulator is used.You can specify only partial name, first emulator that starts with specified deviceName will be selected. See notes for how to get list of installed emulators.

e.g., Emulator 8.1 WVGA 4 inch 512MB


Maximum timeout in milliseconds, to be waited for application to launch (application is pinged every 0.5 sec).

e.g., 10000 (default)


Launch delay in milliseconds, to be waited to let visuals to initialize after application launched (after successful ping or timeout). Note: use it if the system running emulator is slow.

e.g., 0 (default)


Ignored in desired capabilities. Set to WindowsPhone in actual capabilities.

e.g., WindowsPhone


If true (default), then application will be launch after deployment automatically as part of NewSession. If false, then application will not be started automatically and should be started from tests using LaunchApp command from Appium bindings or using ExecuteScript command with mobile: App.Open value.

e.g., true (default) or false


If true, then application deployment steps are skipped. Driver assumes that emulator (specified by deviceName) is already running. app capability should be set, as ProductId will be read from app manifest inside app package. This ProductId will used to locate and launch app on device. If AutoLaunch is set to true, then app will be launched, regardless of debugConnectToRunningApp or app already being launched, this might have side effects.

e.g., true or false


If true (default), then driver will not try to connect to port 9998 when failed to receive dynamic port from the app under test. Set this capability to false if you still using InnerServer from v1.2.0 or below (not recommended). If false, the driver will fallback to connecting to port 9998 when failed to receive dynamic port from the app under test.

e.g., true (default) or false


Timeout for each ping request send by driver to InnerServer. Increase it if you experience Could not connect to the InnerServer. and sure that InnerServer has started successfully. Default ping timeout can be set using --ping-timeout option. This capability will override the option.

In most cases --ping-timeout option should be preferred, as timeout is related to performance of execution environment, not an app (session).

e.g., 2500 (default)


Object with settings for commands.

StoreApps only:


If true, then enums are serialized using name, i.e. .ToString("G"). If false (default), then then enums are serialized using value, i.e. .ToString("D").


One of

  • AutomationProperties - limit attribute access to automation properties only,
  • DependencyProperties - limit attribute access to automation properties and dependency properties only,
  • ClrProperties (default) - do not limit attribute access (allow automation, dependency and CLR properties),



Depricated in v1.3.0 as part of #39. Starting form v1.3.0 the innerPort is set dynamically to ease parallel testing.

In versions below v1.3.0:

Inner driver port used to communicate between OuterDriver and InnerDrive (injected into Windows Phone app). Note: Required only if non-default port was specified in tested app in AutomationServer.Instance.InitializeAndStart call.

e.g., 9998 (default)


You can obtain list of installed emulators by running:

"C:\Program Files (x86)\Microsoft SDKs\Windows Phone\v8.1\Tools\AppDeploy\AppDeployCmd.exe" /EnumerateDevices