Page tree
Skip to end of metadata
Go to start of metadata


This command can change the configuration on the device during runtime. It will set the given property to the given value.


PropertyProperty (See the supported properties below)
Value The value to be set

Supported Properties

PropertyValueFunctionSupported in
hybridClickEnable/disable or true/false (default mode = disable/false)When hybrid Click is enabled, the click method will be executed using javascript.



report.image.widthSize in pixels (default value: 500)Defines the size, in pixels, of the generated images in the report.



screen.latencyUnit in millisecondsThe value of screen.latency is used in the calculation of the time when the latter screenshot is taken.



screen.quality1-100 (percentages)To change the quality of the image received from the device.



screen.refreshGreater than 0 in millisecondsTo control the refresh rate time gap to get a new image from the device.



ignore.ocr.recommendationtrue/falseTo enable/disable OCR recognition.



Android .instrumentation.securitynone, smart, hard (default value: smart)

To disable the Android LayoutParams FLAG_SECURE.

  • none - will not disable the security flag.
  • smart - will disable the security flag when activity resumes.
  • hard - will disable the security flag on the activity resume and in a repeated sequence (every few secs).
on.device.xpathtrue/falseIf it is set to true, it causes any web command that is using XPath to be calculated on the device itself. This enables a faster response. As part of the properties shown in the object spy are derivative it will not work on the device. So, if the XPath contains one of the followings tags, it will not be executed on the device (even if the property is set to true): 
@onScreen, @top, @css, @width, @height, @x, @y, @hidden, @text or @nodeName



assert.element.idletrue/ false. (default value: false)

This property is used to control SeeTest verification behavior regarding busy elements. When the property is set to true, SeeTest will fail a command if the element in question is found on screen but in a busy state. Otherwise, the verification will ignore its busy state.

Usage examples:
1. To identify a toast which generally is a busy element, use: assert.element.idle=false.

2. To click on an element, use: assert.element.idle=true (because clicks do not work on busy elements).


This property is available also as an 'app-property', which can be declared and set on/off in the file. 


full/center/none/legacy_mode default value:  legacy_mode.

This property is an app property used to define the desired visibility level of elements on the device's screen for the testing flow.

Following are the visibility levels supported: 
full: fully contained; This mode defines the element visibility based on whether the element rectangle is fully contained within the screen rectangle.
center: center contained; This mode defines the element visibility based on whether the center of the element (click point) is visible on the screen
none: no visibility constraints: This mode does not verify element visibility on the screen once the element is found in Dump
legacy_mode: Maintains old legacy - the current default mode

For example:

Running isElementFound() on an element that is completely hidden by the devices navigation bar will retrieve the following based on each mode:

Full: false

center: false

none: true



chrome.load.timeoutinteger>=0 (time in milliseconds). Default value: 10,000 ms for local devices and 15000 ms for cloud devices.This property is a device property used to control the timeout of the operation on chrome.  
For example:   
1. when executing ' launch(chrome:...) ' command, the requested website tries to load on the current tab, this process requires first loading the last website opened on this tab and if the loading process got timed-out. Chrome will load the new URL in a new tab.   

2. Under bad network conditions, chrome might exhibit a performance deterioration. This property allows you to adjust chrome operations timeout under different network conditions.
adbPortForwardselected port number/ -1To enable specifying which adb port number you wish to search a connected Android device from. If set to -1, it will forward to all adb ports.Android
Android .native .nonInstrumentedtrue/falseEnable the user to switch between working under-instrumented/non-instrumented mode during test execution.Android
WPDevice .nonInstrumented.objectsenable/disable, true/false (default value is enable/true) or short/thinIf set false/disable, it will not take the non-instrumented dump. 
If set short/thin, it will take a non-instrumented dump only for the application bar.

ios.native.nonInstrumentedtrue/falseFor Native dump only. If set to true, it will take the non-instrumented dump. iOS
enable/disable (default value: enable)
To switch between instrumented/non-instrumented modes while working with an iOS device.iOS
ios.elementsendtext.action.firetrue/ false (default value: false)When the user uses the ElementSendText  command and the property is enabled, it will trigger the event that should have been triggered by the keyboard.iOS
ios.non-instrumented.dump.escape.attributestrue/false (default value: false)

When set to true, it will escape properties (hidden, knownSuperClass) from the non-instrumented dump. Uses for big pages with a lot of elements. 


This property is available also as an 'app-property', which can be declared and set on/off in the file. 

js.max.string.sizeinteger values  > 0 (default value: 255)Set the maximum text attribute length in the object properties.



clicks.time.gapInteger values  > 0 (default value: 0)

iOS: Milliseconds between clicks in case simulation of a triple-click (or above) is desired. Set this property and make sure the number of clicks is 3 or above. This will simulate a fast repetitive click in the same spot (recommended values are 50 ms and up).
Default: 0. 


iOS true/ false or enable/disable. (default value: false)

This property enables you to support camera instrumentation on-the-fly. When set to true, the next time you use the install command with instrument=true, your application will be instrumented with the camera support.
This ability is intended especially for test automation on applications with the camera. For further information, please see SeeTestAutomation- SimulateCapture.


This property is available also as an 'app-property', which can be declared and set on/off in the file
Android.instrumentation.camera2 true/ false or enable/disable. (default value: false)

This property enables you to support camera Api2 instrumentation on-the-fly. When set to true, the next time you use the install command with instrument=true, your application will be instrumented with the camera support.
This ability is intended especially for test automation on applications with the camera. For further information, please see SeeTestAutomation- SimulateCapture.


  • This property is available also as an 'app-property', which can be declared and set on/off in the file.
  • To use camera2 Api, should both property and Android.instrumentation.camera2 set to true
  • This property is supported in devices with Android version greater than 6.1.
Android set to true, system alerts will be accepted automatically when they appear on the screen. The click will happen during the next command that will use XPath queries.iOS

It only works with iOS 9 and above.


If set to true, system alerts will be dismissed automatically when they appear on the screen.  The click will happen during the next command that will use XPath queries.

  • Dismiss
  • Don't allow
  • Close
  • Cancel
  • Not now
  • "...Later"
android.install.grant.permissionstrue/falseGrants the permissions your app requires on install. Defaults to falseAndroid crash logs that were created on the device during the test to the report folderiOS

process_name:<name> or

bundle_id: <bundleId> or


Getting dump from a specific process, identified by process_name / bundle_id or process_id.

For example, getting a dump from assistiveTouch:


attribute name

(currently, only the 'visible' attribute is supported).

Used only on iOS for getting dump non-instrumented included the attributes.

For example: ios.dump.non.instrumented.include.attributes=visible

iOS the presented data units for battery monitoring from the default unit which is mAh to a percentageAndroid keyboard with simulated user action based on the keyboard in use




Toggle GPS off by setting both properties to false.

Toggle GPS on by using one of these properties to true:

  • for GPS with 'device only' mode: use 'location.service.gps=true'
  • for GPS with 'battery saving' mode: use 'location.service.gps=false'
  • for GPS with 'High accuracy' mode: use 'location.service.gps=true'


Use XCAutomation for elementSendText, by default is true, if set to false, then elementSendText operation rather than being atomically executing on the device will be executing in multiple steps.iOS
ios.dump.fetch.toptrue / false(default)Instead of calculating the "top" property with the legacy heuristics, this property makes the "top" property being queried from the OS. Use this only if you have problems with the existing property, as it is a costly operation.iOS
disable.reportertrueWhen running a grid test on the cloud with a configured reporter, set this to true to save the test results locally.



ios.instrumentation.log.levelnone,fatal,error,warn,info,debug,allSets the desired log level to the iOS instrumentation.iOS
safari.webview.includetrue / false(default)Fetch the UI elements of safari WebView.iOS / false(default)Sets top=false for elements that their rectangle bounds are not inside their parent's bounds.iOS
ios.waiting.element.polling.intervalInteger values  >= 0 (default value:0)

Used for stabilizing click operations.

Sets the interval between polling the element location in milliseconds, waiting for the element to be in the same location.

ios.11.use.old.monitoring.servicetrue / false(default)Used only for iOS 11 to choose the service which uses for monitoring CPU / Memory (the old service monitors only debug applications).iOS
ios.request.location.permissiontrue / false (default)

Request location permission. Required for getLocation to work on iOS.

Supported on iOS 11 and above


Integer values >= 10000 milliseconds

(default: 10000)

Set the idle controller timeout, how long will the controller remain alive after stopping the test execution.



split.view.dump.iostrue / false (default)Enforces getting instrumented dump first.iOS

<SamplesX>,<SamplesY>,<Depth>,<Hybrid(optional default=true)>,<FrontMostAppFocused(optional default=false)> or


Create dump by sampling grid of points, SamplesX refers to how many samples on X-Axis when the device is in portrait orientation when in Landscape the samples on each axis will switch.

We recommend first trying the default value which is 5,12,5, and if it does not create the expected dump only then try other values.

Setting this property with empty parameters will remove it, and take a regular dump.


true / false (default)

Get dumps from all active applications. 

This is useful in iOS 13, where dump doesn't include Springboard elements by default when another application is in the foreground.



true / false (default value: true)

Allow iOS non-instrumented dump orientation to be corrected.

This property is useful for backward compatibility in case of devices oriented in Landscape Left, a set up that has not been supported till 12.10. If your code depends on the wrong element location, set this to "false" to get the old behavior back.

listener.max.recovery.attemptsInteger values >= 1When using mobile listeners, this property sets how many times in a row recovery would be attempted. If not set, the number of recovery attempts would be equal to the number of mobile listeners set times 2.




Create a dump by collecting native UI elements. This can help to avoid crashes in case of a large web dump and improve overall performance.



true/false (default value: true)

By default, when installing an application and an old version is already installed on the device, the old application is uninstalled before installing the new version. When keeping the application data, some of the application data will be lost, for example, application widgets that were placed on the Home Screen. Set this property to ‘false’ to override this behavior.



true/false (default value: false)

Get dumps from webview for instrumented and non-instrumented applications.

WebView debugging must be enabled from within the application:
This feature should work if only one debuggable webview is running in parallel. Supported for Android 6 devices and above.

enable.appium.grid.cachetrue/false (default value: true)

Default behavior: Appium Grid caches element, if the same element is asked again it just retrieves from the cache. in case the attribute of that element changes after it's cached, then when asked for that element, the cached element with old attribute values will be returned. 

In case we need the elements after they are changed, then set the property to false.


iOS (default value: false)

By default, when restarting Chrome, e.g., by a launch command with the parameter stopIfRunning=true, then a UI script is automatically handling Chrome's Welcome page if it appears.

When setting this property to true, a different mechanism will be used to prevent the Welcome page from appearing.

Note if you are using the Chrome command-line file: when set to "true", Chrome will be set as a debug application and any existing chrome command-line file will be overridden.



This command can be used to set the property of device configuration at runtime.


Set Experitest Url

Please make sure you replace <EXPERITEST_URL> with the appropriate URL in the sample code below.

  • For public SeeTest cloud, EXPERITEST_URL needs to be
  • For Dedicated Experitest Lab, EXPERITEST_URL needs to be your own domain. e.g -
DesiredCapabilities dc = new DesiredCapabilities();
driver = new AndroidDriver(new URL("<EXPERITEST_URL>"), dc);
seetest = new SeeTestClient(driver);
dc.setCapability(MobileCapabilityType.UDID, "deviceid");
// this command can be used to set the screen refresh rate.
seetest.setProperty("screen.refresh", "10");

  • No labels