This command can change the configuration on the device during runtime. It will set the given property to the given value.
|Property||Property (See the supported properties below)|
|Value||The value to be set|
|report.image.width||Size in pixels (default value: 500)||Defines the size, in pixels, of the generated images in the report.|
|screen.latency||Unit in milliseconds||The value of screen.latency is used in the calculation of the time when the latter screenshot is taken.|
|screen.quality||1-100 (percentages)||To change the quality of the image received from the device.|
|screen.refresh||Greater than 0 in milliseconds||To control the refresh rate time gap to get a new image from the device.|
|ignore.ocr.recommendation||true/false||To enable/disable OCR recognition.|
|Android .instrumentation.security||none, smart, hard (default value: smart)|
To disable the Android LayoutParams FLAG_SECURE.
|on.device.xpath||true/false||If 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.idle||true/ 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.
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 app.properties 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:
Running isElementFound() on an element that is completely hidden by the devices navigation bar will retrieve the following based on each mode:
|chrome.load.timeout||integer>=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. |
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.
|adbPortForward||selected port number/ -1||To 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 .nonInstrumented||true/false||Enable the user to switch between working under-instrumented/non-instrumented mode during test execution.||Android|
|WPDevice .nonInstrumented.objects||enable/disable, true/false (default value is enable/true) or short/thin||If 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.nonInstrumented||true/false||For 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.fire||true/ false (default value: false)||When the user uses the ElementSendText command and the ios.elementsendtext.action.fire property is enabled, it will trigger the event that should have been triggered by the keyboard.||iOS|
|ios.non-instrumented.dump.escape.attributes||true/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 app.properties file.
|js.max.string.size||integer values > 0 (default value: 255)||Set the maximum text attribute length in the object properties.|
|clicks.time.gap||Integer 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).
|Android.instrumentation.camera||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.
Note:This property is available also as an 'app-property', which can be declared and set on/off in the app.properties 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.
|ios.auto.accept.alerts||true/false||If 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.
|android.install.grant.permissions||true/false||Grants the permissions your app requires on install. Defaults to ||Android|
|attach.crash.log.to.report||true/false||Saves crash logs that were created on the device during the test to the report folder||iOS|
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:
(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
|battery.report.percentage||true/false||Change the presented data units for battery monitoring from the default unit which is mAh to a percentage||Android|
|ios.keyboard.close.by.dump||true/false||Close 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:
|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.top||true / 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.reporter||true||When running a grid test on the cloud with a configured reporter, set this to true to save the test results locally.|
|ios.instrumentation.log.level||none,fatal,error,warn,info,debug,all||Sets the desired log level to the iOS instrumentation.||iOS|
|safari.webview.include||true / false(default)||Fetch the UI elements of safari WebView.||iOS|
|ios.element.top.bounds.contained.in.parent||true / false(default)||Sets top=false for elements that their rectangle bounds are not inside their parent's bounds.||iOS|
|ios.waiting.element.polling.interval||Integer 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.service||true / 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.permission||true / false (default)|
Request location permission. Required for getLocation to work on iOS.
Supported on iOS 11 and above
Integer values >= 10000 milliseconds
|Set the idle controller timeout, how long will the controller remain alive after stopping the test execution.|
|split.view.dump.ios||true / 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.attempts||Integer values >= 1||When 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: https://developers.google.com/web/tools/chrome-devtools/remote-debugging/webviews.
|enable.appium.grid.cache||true/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.
|android.chrome.avoid.first.launch.experience||true/false (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 https://cloud.seetest.io/wd/hub/
- For Dedicated Experitest Lab, EXPERITEST_URL needs to be your own domain. e.g -