Capabilities

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

Table of Contents

app

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


files

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' }


dependencies

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' ]


deviceName

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


launchTimeout

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

e.g., 10000 (default)


launchDelay

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)


platformName

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

e.g., WindowsPhone


autoLaunch

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


debugConnectToRunningApp

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


noFallback

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


pingTimeout

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)


commandSettings

Object with settings for commands.

StoreApps only:

commandSettings.elementAttributeSettings.enumAsString

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").

commandSettings.elementAttributeSettings.accessModifier

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

innerPort

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)


Notes

You can obtain list of installed emulators by running:

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