mirror of
https://github.com/callstack/agent-device.git
synced 2026-09-14 20:06:34 +08:00
d11c8cf9d6
* feat: support standalone Maestro clearState command Accept '- clearState' / '- clearState: <appId>' in Maestro YAML flows. Unlike launchApp.clearState (clear-then-open), the standalone form clears app state without relaunching, projecting to 'settings clear-app-state' on the daemon. Covers the Rocket.Chat login-with-deeplink helper, which previously failed with 'Maestro command "clearState" is not supported'. * test(maestro): cover standalone clearState with authored corpus flow Replace the UNVERIFIED_COMMANDS exemption with an authored clear-state flow exercising default and explicit appIds, plus the regenerated upstream parser fixture proving Maestro compatibility. Live iOS Simulator evidence (iPhone 16, com.apple.mobilesafari): - marker files in the data container, then replay '- clearState' (default) and '- clearState: <appId>' (explicit) via 'replay --maestro'; both replay 1/1, wipe the container, and leave MobileSafari not running (no reopen).
5020 lines
146 KiB
JSON
5020 lines
146 KiB
JSON
{
|
|
"schemaVersion": 2,
|
|
"generatedBy": "scripts/maestro-conformance/regenerate.mjs",
|
|
"upstream": {
|
|
"project": "mobile-dev-inc/Maestro",
|
|
"version": "2.5.1",
|
|
"tag": "v2.5.1",
|
|
"commit": "a4c7c95f5ba1884858f7e35efa6b8e0165db9448",
|
|
"artifacts": [
|
|
{
|
|
"coordinate": "dev.mobile:maestro-orchestra:2.5.1",
|
|
"role": "Layer 1 YAML parser (YamlCommandReader) and Layer 2 retry/erase constants (Orchestra).",
|
|
"sha256": "bbd8e5e35e3c706c6d4760bb1026162474b171155a5fa76f6de1360ab3705468"
|
|
},
|
|
{
|
|
"coordinate": "dev.mobile:maestro-orchestra-models:2.5.1",
|
|
"role": "Command model classes and parser-observed defaults (Layer 2 model defaults).",
|
|
"sha256": "0c147f7dff3704e1e04cb728339f2637a6086c234d7984c1434536680f6749ee"
|
|
},
|
|
{
|
|
"coordinate": "dev.mobile:maestro-client:2.5.1",
|
|
"role": "Layer 2 driver constants (Maestro.SCREENSHOT_DIFF_THRESHOLD/ANIMATION_TIMEOUT_MS, IOSDriver.SCREEN_SETTLE_TIMEOUT_MS).",
|
|
"sha256": "a6b8c63c0858e8e256752f617fd27b35b0be48e78d367f9cbdffa735a6fcc991"
|
|
}
|
|
]
|
|
},
|
|
"layer": 1,
|
|
"description": "Upstream Maestro parser capture. Generated by the JVM harness; do not hand-edit.",
|
|
"flows": [
|
|
{
|
|
"id": "upstream/001_assert_visible_by_id",
|
|
"file": "upstream/001_assert_visible_by_id.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": {
|
|
"textRegex": null,
|
|
"idRegex": "element_id",
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"notVisible": null,
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/002_assert_visible_by_text",
|
|
"file": "upstream/002_assert_visible_by_text.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": {
|
|
"textRegex": "Element Text",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"notVisible": null,
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/008_tap_on_element",
|
|
"file": "upstream/008_tap_on_element.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": ".*button.*",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/009_skip_optional_elements",
|
|
"file": "upstream/009_skip_optional_elements.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": "Optional Element",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": true,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": true
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": {
|
|
"textRegex": "Non Optional",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"notVisible": null,
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/010_scroll",
|
|
"file": "upstream/010_scroll.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "ScrollCommand",
|
|
"fields": {
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/011_back_press",
|
|
"file": "upstream/011_back_press.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "BackPressCommand",
|
|
"fields": {
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/012_input_text",
|
|
"file": "upstream/012_input_text.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "InputTextCommand",
|
|
"fields": {
|
|
"text": "Hello World",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "InputTextCommand",
|
|
"fields": {
|
|
"text": "user@example.com",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/013_launch_app",
|
|
"file": "upstream/013_launch_app.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "LaunchAppCommand",
|
|
"fields": {
|
|
"appId": "com.example.app",
|
|
"clearState": null,
|
|
"clearKeychain": null,
|
|
"stopApp": null,
|
|
"permissions": null,
|
|
"launchArguments": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/014_tap_on_point",
|
|
"file": "upstream/014_tap_on_point.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnPointV2Command",
|
|
"fields": {
|
|
"point": "100,200",
|
|
"retryIfNoChange": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/017_swipe",
|
|
"file": "upstream/017_swipe.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "SwipeCommand",
|
|
"fields": {
|
|
"direction": null,
|
|
"startPoint": {
|
|
"x": 100,
|
|
"y": 500
|
|
},
|
|
"endPoint": {
|
|
"x": 100,
|
|
"y": 200
|
|
},
|
|
"elementSelector": null,
|
|
"startRelative": null,
|
|
"endRelative": null,
|
|
"duration": 3000,
|
|
"waitToSettleTimeoutMs": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/021_launch_app_with_clear_state",
|
|
"file": "upstream/021_launch_app_with_clear_state.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "LaunchAppCommand",
|
|
"fields": {
|
|
"appId": "com.example.app",
|
|
"clearState": true,
|
|
"clearKeychain": null,
|
|
"stopApp": null,
|
|
"permissions": null,
|
|
"launchArguments": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/026_assert_not_visible",
|
|
"file": "upstream/026_assert_not_visible.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": null,
|
|
"notVisible": {
|
|
"textRegex": null,
|
|
"idRegex": "element_id",
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/027_open_link",
|
|
"file": "upstream/027_open_link.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "OpenLinkCommand",
|
|
"fields": {
|
|
"link": "https://example.com",
|
|
"autoVerify": false,
|
|
"browser": false,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/029_long_press_on_element",
|
|
"file": "upstream/029_long_press_on_element.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": ".*button.*",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": true,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/032_element_index",
|
|
"file": "upstream/032_element_index.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": "Item.*",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": "0",
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": "Item.*",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": "${0 + 1}",
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/034_press_key",
|
|
"file": "upstream/034_press_key.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "ENTER",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "BACKSPACE",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "HOME",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "BACK",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "VOLUME_UP",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "VOLUME_DOWN",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "LOCK",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "REMOTE_UP",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "REMOTE_DOWN",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "REMOTE_LEFT",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "REMOTE_RIGHT",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "REMOTE_CENTER",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "REMOTE_PLAY_PAUSE",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "REMOTE_STOP",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "REMOTE_NEXT",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "REMOTE_PREVIOUS",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "REMOTE_REWIND",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "REMOTE_FAST_FORWARD",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "POWER",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "TAB",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "REMOTE_SYSTEM_NAVIGATION_UP",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "REMOTE_SYSTEM_NAVIGATION_DOWN",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "REMOTE_BUTTON_A",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "REMOTE_BUTTON_B",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "REMOTE_MENU",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "TV_INPUT",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "TV_INPUT_HDMI_1",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "TV_INPUT_HDMI_2",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "TV_INPUT_HDMI_3",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/036_erase_text",
|
|
"file": "upstream/036_erase_text.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "InputTextCommand",
|
|
"fields": {
|
|
"text": "Hello World",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "EraseTextCommand",
|
|
"fields": {
|
|
"charactersToErase": 6,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/039_hide_keyboard",
|
|
"file": "upstream/039_hide_keyboard.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "HideKeyboardCommand",
|
|
"fields": {
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/041_take_screenshot",
|
|
"file": "upstream/041_take_screenshot.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TakeScreenshotCommand",
|
|
"fields": {
|
|
"path": "${MAESTRO_FILENAME}_with_filename",
|
|
"cropOn": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/042_extended_wait",
|
|
"file": "upstream/042_extended_wait.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "DefineVariablesCommand",
|
|
"fields": {
|
|
"env": {
|
|
"TIMEOUT": "1000"
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": {
|
|
"textRegex": "Item",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"notVisible": null,
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": "${TIMEOUT}",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": null,
|
|
"notVisible": {
|
|
"textRegex": "Another item",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": "1000",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": {
|
|
"textRegex": "Item",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"notVisible": null,
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/043_stop_app",
|
|
"file": "upstream/043_stop_app.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "StopAppCommand",
|
|
"fields": {
|
|
"appId": "com.example.app",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "StopAppCommand",
|
|
"fields": {
|
|
"appId": "another.app",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/045_clear_keychain",
|
|
"file": "upstream/045_clear_keychain.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "ClearKeychainCommand",
|
|
"fields": {
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "LaunchAppCommand",
|
|
"fields": {
|
|
"appId": "com.example.app",
|
|
"clearState": null,
|
|
"clearKeychain": true,
|
|
"stopApp": null,
|
|
"permissions": null,
|
|
"launchArguments": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/051_set_location",
|
|
"file": "upstream/051_set_location.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "LaunchAppCommand",
|
|
"fields": {
|
|
"appId": "com.example.app",
|
|
"clearState": null,
|
|
"clearKeychain": null,
|
|
"stopApp": null,
|
|
"permissions": null,
|
|
"launchArguments": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "SetLocationCommand",
|
|
"fields": {
|
|
"latitude": "12.5266",
|
|
"longitude": "78.2150",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/053_repeat_times",
|
|
"file": "upstream/053_repeat_times.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.other.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "RepeatCommand",
|
|
"fields": {
|
|
"times": "3",
|
|
"condition": null,
|
|
"commands": [
|
|
{
|
|
"tapOnElement": {
|
|
"selector": {
|
|
"textRegex": "Button",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
},
|
|
"tapOnPoint": null,
|
|
"tapOnPointV2Command": null,
|
|
"scrollCommand": null,
|
|
"swipeCommand": null,
|
|
"backPressCommand": null,
|
|
"assertCommand": null,
|
|
"assertConditionCommand": null,
|
|
"assertScreenshotCommand": null,
|
|
"assertNoDefectsWithAICommand": null,
|
|
"assertWithAICommand": null,
|
|
"extractTextWithAICommand": null,
|
|
"inputTextCommand": null,
|
|
"inputRandomTextCommand": null,
|
|
"launchAppCommand": null,
|
|
"setPermissionsCommand": null,
|
|
"applyConfigurationCommand": null,
|
|
"openLinkCommand": null,
|
|
"pressKeyCommand": null,
|
|
"eraseTextCommand": null,
|
|
"hideKeyboardCommand": null,
|
|
"takeScreenshotCommand": null,
|
|
"stopAppCommand": null,
|
|
"killAppCommand": null,
|
|
"clearStateCommand": null,
|
|
"clearKeychainCommand": null,
|
|
"runFlowCommand": null,
|
|
"setLocationCommand": null,
|
|
"setOrientationCommand": null,
|
|
"repeatCommand": null,
|
|
"copyTextCommand": null,
|
|
"setClipboardCommand": null,
|
|
"pasteTextCommand": null,
|
|
"defineVariablesCommand": null,
|
|
"runScriptCommand": null,
|
|
"waitForAnimationToEndCommand": null,
|
|
"evalScriptCommand": null,
|
|
"scrollUntilVisible": null,
|
|
"travelCommand": null,
|
|
"startRecordingCommand": null,
|
|
"stopRecordingCommand": null,
|
|
"addMediaCommand": null,
|
|
"setAirplaneModeCommand": null,
|
|
"toggleAirplaneModeCommand": null,
|
|
"retryCommand": null
|
|
}
|
|
],
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": {
|
|
"textRegex": "3",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"notVisible": null,
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "EvalScriptCommand",
|
|
"fields": {
|
|
"scriptString": "${output.list = [1, 2, 3]}",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "RepeatCommand",
|
|
"fields": {
|
|
"times": "${output.list.length}",
|
|
"condition": null,
|
|
"commands": [
|
|
{
|
|
"tapOnElement": {
|
|
"selector": {
|
|
"textRegex": "Button",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
},
|
|
"tapOnPoint": null,
|
|
"tapOnPointV2Command": null,
|
|
"scrollCommand": null,
|
|
"swipeCommand": null,
|
|
"backPressCommand": null,
|
|
"assertCommand": null,
|
|
"assertConditionCommand": null,
|
|
"assertScreenshotCommand": null,
|
|
"assertNoDefectsWithAICommand": null,
|
|
"assertWithAICommand": null,
|
|
"extractTextWithAICommand": null,
|
|
"inputTextCommand": null,
|
|
"inputRandomTextCommand": null,
|
|
"launchAppCommand": null,
|
|
"setPermissionsCommand": null,
|
|
"applyConfigurationCommand": null,
|
|
"openLinkCommand": null,
|
|
"pressKeyCommand": null,
|
|
"eraseTextCommand": null,
|
|
"hideKeyboardCommand": null,
|
|
"takeScreenshotCommand": null,
|
|
"stopAppCommand": null,
|
|
"killAppCommand": null,
|
|
"clearStateCommand": null,
|
|
"clearKeychainCommand": null,
|
|
"runFlowCommand": null,
|
|
"setLocationCommand": null,
|
|
"setOrientationCommand": null,
|
|
"repeatCommand": null,
|
|
"copyTextCommand": null,
|
|
"setClipboardCommand": null,
|
|
"pasteTextCommand": null,
|
|
"defineVariablesCommand": null,
|
|
"runScriptCommand": null,
|
|
"waitForAnimationToEndCommand": null,
|
|
"evalScriptCommand": null,
|
|
"scrollUntilVisible": null,
|
|
"travelCommand": null,
|
|
"startRecordingCommand": null,
|
|
"stopRecordingCommand": null,
|
|
"addMediaCommand": null,
|
|
"setAirplaneModeCommand": null,
|
|
"toggleAirplaneModeCommand": null,
|
|
"retryCommand": null
|
|
}
|
|
],
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": {
|
|
"textRegex": "6",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"notVisible": null,
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/059_directional_swipe_command",
|
|
"file": "upstream/059_directional_swipe_command.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "SwipeCommand",
|
|
"fields": {
|
|
"direction": "RIGHT",
|
|
"startPoint": null,
|
|
"endPoint": null,
|
|
"elementSelector": null,
|
|
"startRelative": null,
|
|
"endRelative": null,
|
|
"duration": 500,
|
|
"waitToSettleTimeoutMs": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/061_launchApp_withoutStopping",
|
|
"file": "upstream/061_launchApp_withoutStopping.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "LaunchAppCommand",
|
|
"fields": {
|
|
"appId": "com.example.app",
|
|
"clearState": null,
|
|
"clearKeychain": null,
|
|
"stopApp": false,
|
|
"permissions": null,
|
|
"launchArguments": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/062_copy_paste_text",
|
|
"file": "upstream/062_copy_paste_text.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "CopyTextFromCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": null,
|
|
"idRegex": "myId",
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PasteTextCommand",
|
|
"fields": {
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/067_assertTrue_pass",
|
|
"file": "upstream/067_assertTrue_pass.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": null,
|
|
"notVisible": null,
|
|
"scriptCondition": "${1+1}",
|
|
"label": null
|
|
},
|
|
"timeout": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/069_wait_for_animation_to_end",
|
|
"file": "upstream/069_wait_for_animation_to_end.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "WaitForAnimationToEndCommand",
|
|
"fields": {
|
|
"timeout": "500",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/074_directional_swipe_element",
|
|
"file": "upstream/074_directional_swipe_element.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "SwipeCommand",
|
|
"fields": {
|
|
"direction": "RIGHT",
|
|
"startPoint": null,
|
|
"endPoint": null,
|
|
"elementSelector": {
|
|
"textRegex": "swiping element",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"startRelative": null,
|
|
"endRelative": null,
|
|
"duration": 400,
|
|
"waitToSettleTimeoutMs": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/076_optional_assertion",
|
|
"file": "upstream/076_optional_assertion.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "ScrollUntilVisibleCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": null,
|
|
"idRegex": "not_found",
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"direction": "DOWN",
|
|
"scrollDuration": "40",
|
|
"visibilityPercentage": 100,
|
|
"timeout": "1",
|
|
"waitToSettleTimeoutMs": null,
|
|
"centerElement": false,
|
|
"originalSpeedValue": "40",
|
|
"label": null,
|
|
"optional": true,
|
|
"visibilityPercentageNormalized": 1
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": null,
|
|
"notVisible": null,
|
|
"scriptCondition": "false",
|
|
"label": null
|
|
},
|
|
"timeout": null,
|
|
"label": null,
|
|
"optional": true
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": {
|
|
"textRegex": null,
|
|
"idRegex": "not_found",
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"notVisible": null,
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": "1",
|
|
"label": null,
|
|
"optional": true
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": {
|
|
"textRegex": "Button",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": true,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"notVisible": null,
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": null,
|
|
"label": null,
|
|
"optional": true
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/078_swipe_relative",
|
|
"file": "upstream/078_swipe_relative.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "SwipeCommand",
|
|
"fields": {
|
|
"direction": null,
|
|
"startPoint": null,
|
|
"endPoint": null,
|
|
"elementSelector": null,
|
|
"startRelative": "50%,30%",
|
|
"endRelative": "50%,60%",
|
|
"duration": 3000,
|
|
"waitToSettleTimeoutMs": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/079_scroll_until_visible",
|
|
"file": "upstream/079_scroll_until_visible.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "ScrollUntilVisibleCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": "Test",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"direction": "DOWN",
|
|
"scrollDuration": "100",
|
|
"visibilityPercentage": 100,
|
|
"timeout": "10",
|
|
"waitToSettleTimeoutMs": null,
|
|
"centerElement": false,
|
|
"originalSpeedValue": "100",
|
|
"label": null,
|
|
"optional": false,
|
|
"visibilityPercentageNormalized": 1
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/090_travel",
|
|
"file": "upstream/090_travel.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TravelCommand",
|
|
"fields": {
|
|
"points": [
|
|
{
|
|
"latitude": "0.0",
|
|
"longitude": "0.0"
|
|
},
|
|
{
|
|
"latitude": "0.1",
|
|
"longitude": "0.0"
|
|
},
|
|
{
|
|
"latitude": "0.1",
|
|
"longitude": "0.1"
|
|
},
|
|
{
|
|
"latitude": "0.0",
|
|
"longitude": "0.1"
|
|
}
|
|
],
|
|
"speedMPS": 7900,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/094_runFlow_inline",
|
|
"file": "upstream/094_runFlow_inline.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "RunFlowCommand",
|
|
"fields": {
|
|
"commands": [
|
|
{
|
|
"tapOnElement": null,
|
|
"tapOnPoint": null,
|
|
"tapOnPointV2Command": null,
|
|
"scrollCommand": null,
|
|
"swipeCommand": null,
|
|
"backPressCommand": null,
|
|
"assertCommand": null,
|
|
"assertConditionCommand": null,
|
|
"assertScreenshotCommand": null,
|
|
"assertNoDefectsWithAICommand": null,
|
|
"assertWithAICommand": null,
|
|
"extractTextWithAICommand": null,
|
|
"inputTextCommand": null,
|
|
"inputRandomTextCommand": null,
|
|
"launchAppCommand": null,
|
|
"setPermissionsCommand": null,
|
|
"applyConfigurationCommand": null,
|
|
"openLinkCommand": null,
|
|
"pressKeyCommand": null,
|
|
"eraseTextCommand": null,
|
|
"hideKeyboardCommand": null,
|
|
"takeScreenshotCommand": null,
|
|
"stopAppCommand": null,
|
|
"killAppCommand": null,
|
|
"clearStateCommand": null,
|
|
"clearKeychainCommand": null,
|
|
"runFlowCommand": null,
|
|
"setLocationCommand": null,
|
|
"setOrientationCommand": null,
|
|
"repeatCommand": null,
|
|
"copyTextCommand": null,
|
|
"setClipboardCommand": null,
|
|
"pasteTextCommand": null,
|
|
"defineVariablesCommand": {
|
|
"env": {
|
|
"INNER_ENV": "Inner Parameter"
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
},
|
|
"runScriptCommand": null,
|
|
"waitForAnimationToEndCommand": null,
|
|
"evalScriptCommand": null,
|
|
"scrollUntilVisible": null,
|
|
"travelCommand": null,
|
|
"startRecordingCommand": null,
|
|
"stopRecordingCommand": null,
|
|
"addMediaCommand": null,
|
|
"setAirplaneModeCommand": null,
|
|
"toggleAirplaneModeCommand": null,
|
|
"retryCommand": null
|
|
},
|
|
{
|
|
"tapOnElement": null,
|
|
"tapOnPoint": null,
|
|
"tapOnPointV2Command": null,
|
|
"scrollCommand": null,
|
|
"swipeCommand": null,
|
|
"backPressCommand": null,
|
|
"assertCommand": null,
|
|
"assertConditionCommand": null,
|
|
"assertScreenshotCommand": null,
|
|
"assertNoDefectsWithAICommand": null,
|
|
"assertWithAICommand": null,
|
|
"extractTextWithAICommand": null,
|
|
"inputTextCommand": {
|
|
"text": "${INNER_ENV}",
|
|
"label": null,
|
|
"optional": false
|
|
},
|
|
"inputRandomTextCommand": null,
|
|
"launchAppCommand": null,
|
|
"setPermissionsCommand": null,
|
|
"applyConfigurationCommand": null,
|
|
"openLinkCommand": null,
|
|
"pressKeyCommand": null,
|
|
"eraseTextCommand": null,
|
|
"hideKeyboardCommand": null,
|
|
"takeScreenshotCommand": null,
|
|
"stopAppCommand": null,
|
|
"killAppCommand": null,
|
|
"clearStateCommand": null,
|
|
"clearKeychainCommand": null,
|
|
"runFlowCommand": null,
|
|
"setLocationCommand": null,
|
|
"setOrientationCommand": null,
|
|
"repeatCommand": null,
|
|
"copyTextCommand": null,
|
|
"setClipboardCommand": null,
|
|
"pasteTextCommand": null,
|
|
"defineVariablesCommand": null,
|
|
"runScriptCommand": null,
|
|
"waitForAnimationToEndCommand": null,
|
|
"evalScriptCommand": null,
|
|
"scrollUntilVisible": null,
|
|
"travelCommand": null,
|
|
"startRecordingCommand": null,
|
|
"stopRecordingCommand": null,
|
|
"addMediaCommand": null,
|
|
"setAirplaneModeCommand": null,
|
|
"toggleAirplaneModeCommand": null,
|
|
"retryCommand": null
|
|
}
|
|
],
|
|
"condition": null,
|
|
"sourceDescription": null,
|
|
"config": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/100_tapOn_multiple_times",
|
|
"file": "upstream/100_tapOn_multiple_times.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.other.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": "Button",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": {
|
|
"repeat": 3,
|
|
"delay": 1
|
|
},
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/101_doubleTapOn",
|
|
"file": "upstream/101_doubleTapOn.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.other.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": "Button",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": {
|
|
"repeat": 2,
|
|
"delay": 100
|
|
},
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/114_child_of_selector",
|
|
"file": "upstream/114_child_of_selector.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": {
|
|
"textRegex": "child_id",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": {
|
|
"textRegex": "parent_id_1",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"css": null
|
|
},
|
|
"notVisible": null,
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": null,
|
|
"notVisible": {
|
|
"textRegex": "child_id",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": {
|
|
"textRegex": "parent_id_3",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"css": null
|
|
},
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/116_kill_app",
|
|
"file": "upstream/116_kill_app.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "KillAppCommand",
|
|
"fields": {
|
|
"appId": "com.example.app",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "KillAppCommand",
|
|
"fields": {
|
|
"appId": "another.app",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/119_retry_commands",
|
|
"file": "upstream/119_retry_commands.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.other.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "RetryCommand",
|
|
"fields": {
|
|
"maxRetries": "3",
|
|
"commands": [
|
|
{
|
|
"tapOnElement": null,
|
|
"tapOnPoint": null,
|
|
"tapOnPointV2Command": null,
|
|
"scrollCommand": {
|
|
"label": null,
|
|
"optional": false
|
|
},
|
|
"swipeCommand": null,
|
|
"backPressCommand": null,
|
|
"assertCommand": null,
|
|
"assertConditionCommand": null,
|
|
"assertScreenshotCommand": null,
|
|
"assertNoDefectsWithAICommand": null,
|
|
"assertWithAICommand": null,
|
|
"extractTextWithAICommand": null,
|
|
"inputTextCommand": null,
|
|
"inputRandomTextCommand": null,
|
|
"launchAppCommand": null,
|
|
"setPermissionsCommand": null,
|
|
"applyConfigurationCommand": null,
|
|
"openLinkCommand": null,
|
|
"pressKeyCommand": null,
|
|
"eraseTextCommand": null,
|
|
"hideKeyboardCommand": null,
|
|
"takeScreenshotCommand": null,
|
|
"stopAppCommand": null,
|
|
"killAppCommand": null,
|
|
"clearStateCommand": null,
|
|
"clearKeychainCommand": null,
|
|
"runFlowCommand": null,
|
|
"setLocationCommand": null,
|
|
"setOrientationCommand": null,
|
|
"repeatCommand": null,
|
|
"copyTextCommand": null,
|
|
"setClipboardCommand": null,
|
|
"pasteTextCommand": null,
|
|
"defineVariablesCommand": null,
|
|
"runScriptCommand": null,
|
|
"waitForAnimationToEndCommand": null,
|
|
"evalScriptCommand": null,
|
|
"scrollUntilVisible": null,
|
|
"travelCommand": null,
|
|
"startRecordingCommand": null,
|
|
"stopRecordingCommand": null,
|
|
"addMediaCommand": null,
|
|
"setAirplaneModeCommand": null,
|
|
"toggleAirplaneModeCommand": null,
|
|
"retryCommand": null
|
|
},
|
|
{
|
|
"tapOnElement": {
|
|
"selector": {
|
|
"textRegex": "Button",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": 40,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
},
|
|
"tapOnPoint": null,
|
|
"tapOnPointV2Command": null,
|
|
"scrollCommand": null,
|
|
"swipeCommand": null,
|
|
"backPressCommand": null,
|
|
"assertCommand": null,
|
|
"assertConditionCommand": null,
|
|
"assertScreenshotCommand": null,
|
|
"assertNoDefectsWithAICommand": null,
|
|
"assertWithAICommand": null,
|
|
"extractTextWithAICommand": null,
|
|
"inputTextCommand": null,
|
|
"inputRandomTextCommand": null,
|
|
"launchAppCommand": null,
|
|
"setPermissionsCommand": null,
|
|
"applyConfigurationCommand": null,
|
|
"openLinkCommand": null,
|
|
"pressKeyCommand": null,
|
|
"eraseTextCommand": null,
|
|
"hideKeyboardCommand": null,
|
|
"takeScreenshotCommand": null,
|
|
"stopAppCommand": null,
|
|
"killAppCommand": null,
|
|
"clearStateCommand": null,
|
|
"clearKeychainCommand": null,
|
|
"runFlowCommand": null,
|
|
"setLocationCommand": null,
|
|
"setOrientationCommand": null,
|
|
"repeatCommand": null,
|
|
"copyTextCommand": null,
|
|
"setClipboardCommand": null,
|
|
"pasteTextCommand": null,
|
|
"defineVariablesCommand": null,
|
|
"runScriptCommand": null,
|
|
"waitForAnimationToEndCommand": null,
|
|
"evalScriptCommand": null,
|
|
"scrollUntilVisible": null,
|
|
"travelCommand": null,
|
|
"startRecordingCommand": null,
|
|
"stopRecordingCommand": null,
|
|
"addMediaCommand": null,
|
|
"setAirplaneModeCommand": null,
|
|
"toggleAirplaneModeCommand": null,
|
|
"retryCommand": null
|
|
},
|
|
{
|
|
"tapOnElement": null,
|
|
"tapOnPoint": null,
|
|
"tapOnPointV2Command": null,
|
|
"scrollCommand": {
|
|
"label": null,
|
|
"optional": false
|
|
},
|
|
"swipeCommand": null,
|
|
"backPressCommand": null,
|
|
"assertCommand": null,
|
|
"assertConditionCommand": null,
|
|
"assertScreenshotCommand": null,
|
|
"assertNoDefectsWithAICommand": null,
|
|
"assertWithAICommand": null,
|
|
"extractTextWithAICommand": null,
|
|
"inputTextCommand": null,
|
|
"inputRandomTextCommand": null,
|
|
"launchAppCommand": null,
|
|
"setPermissionsCommand": null,
|
|
"applyConfigurationCommand": null,
|
|
"openLinkCommand": null,
|
|
"pressKeyCommand": null,
|
|
"eraseTextCommand": null,
|
|
"hideKeyboardCommand": null,
|
|
"takeScreenshotCommand": null,
|
|
"stopAppCommand": null,
|
|
"killAppCommand": null,
|
|
"clearStateCommand": null,
|
|
"clearKeychainCommand": null,
|
|
"runFlowCommand": null,
|
|
"setLocationCommand": null,
|
|
"setOrientationCommand": null,
|
|
"repeatCommand": null,
|
|
"copyTextCommand": null,
|
|
"setClipboardCommand": null,
|
|
"pasteTextCommand": null,
|
|
"defineVariablesCommand": null,
|
|
"runScriptCommand": null,
|
|
"waitForAnimationToEndCommand": null,
|
|
"evalScriptCommand": null,
|
|
"scrollUntilVisible": null,
|
|
"travelCommand": null,
|
|
"startRecordingCommand": null,
|
|
"stopRecordingCommand": null,
|
|
"addMediaCommand": null,
|
|
"setAirplaneModeCommand": null,
|
|
"toggleAirplaneModeCommand": null,
|
|
"retryCommand": null
|
|
}
|
|
],
|
|
"config": null,
|
|
"sourceDescription": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/120_tap_on_element_retryTapIfNoChange",
|
|
"file": "upstream/120_tap_on_element_retryTapIfNoChange.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": ".*button.*",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": true,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "upstream/131_setPermissions",
|
|
"file": "upstream/131_setPermissions.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "SetPermissionsCommand",
|
|
"fields": {
|
|
"appId": "com.example.app",
|
|
"permissions": {
|
|
"all": "deny",
|
|
"notifications": "unset"
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "bug-classes/percent-decimal-swipe",
|
|
"file": "bug-classes/percent-decimal-swipe.yaml",
|
|
"status": "rejected",
|
|
"error": {
|
|
"class": "FlowParseException",
|
|
"message": "Parsing Failed"
|
|
}
|
|
},
|
|
{
|
|
"id": "bug-classes/retry-over-cap",
|
|
"file": "bug-classes/retry-over-cap.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "RetryCommand",
|
|
"fields": {
|
|
"maxRetries": "99",
|
|
"commands": [
|
|
{
|
|
"tapOnElement": {
|
|
"selector": {
|
|
"textRegex": "Retry",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
},
|
|
"tapOnPoint": null,
|
|
"tapOnPointV2Command": null,
|
|
"scrollCommand": null,
|
|
"swipeCommand": null,
|
|
"backPressCommand": null,
|
|
"assertCommand": null,
|
|
"assertConditionCommand": null,
|
|
"assertScreenshotCommand": null,
|
|
"assertNoDefectsWithAICommand": null,
|
|
"assertWithAICommand": null,
|
|
"extractTextWithAICommand": null,
|
|
"inputTextCommand": null,
|
|
"inputRandomTextCommand": null,
|
|
"launchAppCommand": null,
|
|
"setPermissionsCommand": null,
|
|
"applyConfigurationCommand": null,
|
|
"openLinkCommand": null,
|
|
"pressKeyCommand": null,
|
|
"eraseTextCommand": null,
|
|
"hideKeyboardCommand": null,
|
|
"takeScreenshotCommand": null,
|
|
"stopAppCommand": null,
|
|
"killAppCommand": null,
|
|
"clearStateCommand": null,
|
|
"clearKeychainCommand": null,
|
|
"runFlowCommand": null,
|
|
"setLocationCommand": null,
|
|
"setOrientationCommand": null,
|
|
"repeatCommand": null,
|
|
"copyTextCommand": null,
|
|
"setClipboardCommand": null,
|
|
"pasteTextCommand": null,
|
|
"defineVariablesCommand": null,
|
|
"runScriptCommand": null,
|
|
"waitForAnimationToEndCommand": null,
|
|
"evalScriptCommand": null,
|
|
"scrollUntilVisible": null,
|
|
"travelCommand": null,
|
|
"startRecordingCommand": null,
|
|
"stopRecordingCommand": null,
|
|
"addMediaCommand": null,
|
|
"setAirplaneModeCommand": null,
|
|
"toggleAirplaneModeCommand": null,
|
|
"retryCommand": null
|
|
}
|
|
],
|
|
"config": null,
|
|
"sourceDescription": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "bug-classes/settle-after-tap",
|
|
"file": "bug-classes/settle-after-tap.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": "Submit",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "bug-classes/target-swipe-missing-direction",
|
|
"file": "bug-classes/target-swipe-missing-direction.yaml",
|
|
"status": "rejected",
|
|
"error": {
|
|
"class": "FlowParseException",
|
|
"message": "Parsing Failed"
|
|
}
|
|
},
|
|
{
|
|
"id": "invalid/bad-swipe-direction",
|
|
"file": "invalid/bad-swipe-direction.yaml",
|
|
"status": "rejected",
|
|
"error": {
|
|
"class": "FlowParseException",
|
|
"message": "Parsing Failed"
|
|
}
|
|
},
|
|
{
|
|
"id": "invalid/commands-not-a-list",
|
|
"file": "invalid/commands-not-a-list.yaml",
|
|
"status": "rejected",
|
|
"error": {
|
|
"class": "FlowParseException",
|
|
"message": "Commands Section Required"
|
|
}
|
|
},
|
|
{
|
|
"id": "invalid/duplicate-keys",
|
|
"file": "invalid/duplicate-keys.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": "B",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "invalid/malformed-selector",
|
|
"file": "invalid/malformed-selector.yaml",
|
|
"status": "rejected",
|
|
"error": {
|
|
"class": "SyntaxError",
|
|
"message": "Failed to parse file: <corpus>/invalid/malformed-selector.yaml"
|
|
}
|
|
},
|
|
{
|
|
"id": "invalid/unknown-command",
|
|
"file": "invalid/unknown-command.yaml",
|
|
"status": "rejected",
|
|
"error": {
|
|
"class": "FlowParseException",
|
|
"message": "Invalid Command: tapOnn"
|
|
}
|
|
},
|
|
{
|
|
"id": "invalid/unknown-selector-field",
|
|
"file": "invalid/unknown-selector-field.yaml",
|
|
"status": "rejected",
|
|
"error": {
|
|
"class": "FlowParseException",
|
|
"message": "Unknown Property: bogusField"
|
|
}
|
|
},
|
|
{
|
|
"id": "authored/clear-state",
|
|
"file": "authored/clear-state.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "ClearStateCommand",
|
|
"fields": {
|
|
"appId": "com.example.app",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "ClearStateCommand",
|
|
"fields": {
|
|
"appId": "another.app",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "authored/doubletap",
|
|
"file": "authored/doubletap.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": "Button",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": {
|
|
"repeat": 2,
|
|
"delay": 100
|
|
},
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "authored/extended-wait",
|
|
"file": "authored/extended-wait.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": {
|
|
"textRegex": null,
|
|
"idRegex": "Item",
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"notVisible": null,
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": "1000",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": null,
|
|
"notVisible": {
|
|
"textRegex": null,
|
|
"idRegex": "Another",
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": "1000",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "authored/label-metadata",
|
|
"file": "authored/label-metadata.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": "Login",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": "login tap",
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnPointV2Command",
|
|
"fields": {
|
|
"point": "20,30",
|
|
"retryIfNoChange": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"label": "coordinate tap",
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": "Save",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": {
|
|
"repeat": 2,
|
|
"delay": 100
|
|
},
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": "save twice",
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": "Hold",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": true,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": "hold action",
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": {
|
|
"textRegex": "Ready",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"notVisible": null,
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": null,
|
|
"label": "ready assertion",
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": null,
|
|
"notVisible": {
|
|
"textRegex": "Gone",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": null,
|
|
"label": "gone assertion",
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": {
|
|
"textRegex": "Loaded",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"notVisible": null,
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": "1000",
|
|
"label": "loaded wait",
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "ScrollUntilVisibleCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": "Item",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"direction": "DOWN",
|
|
"scrollDuration": "40",
|
|
"visibilityPercentage": 100,
|
|
"timeout": "20000",
|
|
"waitToSettleTimeoutMs": null,
|
|
"centerElement": false,
|
|
"originalSpeedValue": "40",
|
|
"label": "item scroll",
|
|
"optional": false,
|
|
"visibilityPercentageNormalized": 1
|
|
}
|
|
},
|
|
{
|
|
"type": "SwipeCommand",
|
|
"fields": {
|
|
"direction": "LEFT",
|
|
"startPoint": null,
|
|
"endPoint": null,
|
|
"elementSelector": {
|
|
"textRegex": "Card",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"startRelative": null,
|
|
"endRelative": null,
|
|
"duration": 400,
|
|
"waitToSettleTimeoutMs": null,
|
|
"label": "card swipe",
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "InputTextCommand",
|
|
"fields": {
|
|
"text": "value",
|
|
"label": "field input",
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "authored/numeric-variable-doubletap",
|
|
"file": "authored/numeric-variable-doubletap.yaml",
|
|
"status": "rejected",
|
|
"error": {
|
|
"class": "FlowParseException",
|
|
"message": "Incorrect Format: delay"
|
|
}
|
|
},
|
|
{
|
|
"id": "authored/numeric-variable-erase",
|
|
"file": "authored/numeric-variable-erase.yaml",
|
|
"status": "rejected",
|
|
"error": {
|
|
"class": "SyntaxError",
|
|
"message": "Failed to parse file: <corpus>/authored/numeric-variable-erase.yaml"
|
|
}
|
|
},
|
|
{
|
|
"id": "authored/numeric-variable-swipe",
|
|
"file": "authored/numeric-variable-swipe.yaml",
|
|
"status": "rejected",
|
|
"error": {
|
|
"class": "FlowParseException",
|
|
"message": "Parsing Failed"
|
|
}
|
|
},
|
|
{
|
|
"id": "authored/numeric-variable-tap-index",
|
|
"file": "authored/numeric-variable-tap-index.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": "Button",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": "${INDEX}",
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "authored/numeric-variable-tap",
|
|
"file": "authored/numeric-variable-tap.yaml",
|
|
"status": "rejected",
|
|
"error": {
|
|
"class": "FlowParseException",
|
|
"message": "Incorrect Format: repeat"
|
|
}
|
|
},
|
|
{
|
|
"id": "authored/numeric-variable-wait",
|
|
"file": "authored/numeric-variable-wait.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "WaitForAnimationToEndCommand",
|
|
"fields": {
|
|
"timeout": "${TIMEOUT}",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "authored/positional-relations",
|
|
"file": "authored/positional-relations.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": null,
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": {
|
|
"textRegex": "Email",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": null,
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": {
|
|
"textRegex": null,
|
|
"idRegex": "submit",
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": {
|
|
"repeat": 2,
|
|
"delay": 100
|
|
},
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": null,
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": {
|
|
"textRegex": "Menu",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": true,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": {
|
|
"textRegex": null,
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": {
|
|
"textRegex": null,
|
|
"idRegex": "navigation",
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"notVisible": null,
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": null,
|
|
"notVisible": {
|
|
"textRegex": null,
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": {
|
|
"textRegex": null,
|
|
"idRegex": "hidden-caption",
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": {
|
|
"textRegex": null,
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": {
|
|
"textRegex": "Complete",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"notVisible": null,
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "ScrollUntilVisibleCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": null,
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": {
|
|
"textRegex": "More",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"direction": "DOWN",
|
|
"scrollDuration": "40",
|
|
"visibilityPercentage": 100,
|
|
"timeout": "20000",
|
|
"waitToSettleTimeoutMs": null,
|
|
"centerElement": false,
|
|
"originalSpeedValue": "40",
|
|
"label": null,
|
|
"optional": false,
|
|
"visibilityPercentageNormalized": 1
|
|
}
|
|
},
|
|
{
|
|
"type": "SwipeCommand",
|
|
"fields": {
|
|
"direction": "LEFT",
|
|
"startPoint": null,
|
|
"endPoint": null,
|
|
"elementSelector": {
|
|
"textRegex": null,
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": {
|
|
"textRegex": null,
|
|
"idRegex": "rail",
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"startRelative": null,
|
|
"endRelative": null,
|
|
"duration": 400,
|
|
"waitToSettleTimeoutMs": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "authored/presskey",
|
|
"file": "authored/presskey.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "ENTER",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "HOME",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "PressKeyCommand",
|
|
"fields": {
|
|
"code": "BACK",
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "authored/repeat",
|
|
"file": "authored/repeat.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "RepeatCommand",
|
|
"fields": {
|
|
"times": "3",
|
|
"condition": null,
|
|
"commands": [
|
|
{
|
|
"tapOnElement": {
|
|
"selector": {
|
|
"textRegex": "Button",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
},
|
|
"tapOnPoint": null,
|
|
"tapOnPointV2Command": null,
|
|
"scrollCommand": null,
|
|
"swipeCommand": null,
|
|
"backPressCommand": null,
|
|
"assertCommand": null,
|
|
"assertConditionCommand": null,
|
|
"assertScreenshotCommand": null,
|
|
"assertNoDefectsWithAICommand": null,
|
|
"assertWithAICommand": null,
|
|
"extractTextWithAICommand": null,
|
|
"inputTextCommand": null,
|
|
"inputRandomTextCommand": null,
|
|
"launchAppCommand": null,
|
|
"setPermissionsCommand": null,
|
|
"applyConfigurationCommand": null,
|
|
"openLinkCommand": null,
|
|
"pressKeyCommand": null,
|
|
"eraseTextCommand": null,
|
|
"hideKeyboardCommand": null,
|
|
"takeScreenshotCommand": null,
|
|
"stopAppCommand": null,
|
|
"killAppCommand": null,
|
|
"clearStateCommand": null,
|
|
"clearKeychainCommand": null,
|
|
"runFlowCommand": null,
|
|
"setLocationCommand": null,
|
|
"setOrientationCommand": null,
|
|
"repeatCommand": null,
|
|
"copyTextCommand": null,
|
|
"setClipboardCommand": null,
|
|
"pasteTextCommand": null,
|
|
"defineVariablesCommand": null,
|
|
"runScriptCommand": null,
|
|
"waitForAnimationToEndCommand": null,
|
|
"evalScriptCommand": null,
|
|
"scrollUntilVisible": null,
|
|
"travelCommand": null,
|
|
"startRecordingCommand": null,
|
|
"stopRecordingCommand": null,
|
|
"addMediaCommand": null,
|
|
"setAirplaneModeCommand": null,
|
|
"toggleAirplaneModeCommand": null,
|
|
"retryCommand": null
|
|
}
|
|
],
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "authored/runflow-main",
|
|
"file": "authored/runflow-main.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": "Before",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "RunFlowCommand",
|
|
"fields": {
|
|
"commands": [
|
|
{
|
|
"tapOnElement": null,
|
|
"tapOnPoint": null,
|
|
"tapOnPointV2Command": null,
|
|
"scrollCommand": null,
|
|
"swipeCommand": null,
|
|
"backPressCommand": null,
|
|
"assertCommand": null,
|
|
"assertConditionCommand": null,
|
|
"assertScreenshotCommand": null,
|
|
"assertNoDefectsWithAICommand": null,
|
|
"assertWithAICommand": null,
|
|
"extractTextWithAICommand": null,
|
|
"inputTextCommand": null,
|
|
"inputRandomTextCommand": null,
|
|
"launchAppCommand": null,
|
|
"setPermissionsCommand": null,
|
|
"applyConfigurationCommand": {
|
|
"config": {
|
|
"appId": "com.example.include",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
},
|
|
"openLinkCommand": null,
|
|
"pressKeyCommand": null,
|
|
"eraseTextCommand": null,
|
|
"hideKeyboardCommand": null,
|
|
"takeScreenshotCommand": null,
|
|
"stopAppCommand": null,
|
|
"killAppCommand": null,
|
|
"clearStateCommand": null,
|
|
"clearKeychainCommand": null,
|
|
"runFlowCommand": null,
|
|
"setLocationCommand": null,
|
|
"setOrientationCommand": null,
|
|
"repeatCommand": null,
|
|
"copyTextCommand": null,
|
|
"setClipboardCommand": null,
|
|
"pasteTextCommand": null,
|
|
"defineVariablesCommand": null,
|
|
"runScriptCommand": null,
|
|
"waitForAnimationToEndCommand": null,
|
|
"evalScriptCommand": null,
|
|
"scrollUntilVisible": null,
|
|
"travelCommand": null,
|
|
"startRecordingCommand": null,
|
|
"stopRecordingCommand": null,
|
|
"addMediaCommand": null,
|
|
"setAirplaneModeCommand": null,
|
|
"toggleAirplaneModeCommand": null,
|
|
"retryCommand": null
|
|
},
|
|
{
|
|
"tapOnElement": null,
|
|
"tapOnPoint": null,
|
|
"tapOnPointV2Command": null,
|
|
"scrollCommand": null,
|
|
"swipeCommand": null,
|
|
"backPressCommand": null,
|
|
"assertCommand": null,
|
|
"assertConditionCommand": null,
|
|
"assertScreenshotCommand": null,
|
|
"assertNoDefectsWithAICommand": null,
|
|
"assertWithAICommand": null,
|
|
"extractTextWithAICommand": null,
|
|
"inputTextCommand": null,
|
|
"inputRandomTextCommand": null,
|
|
"launchAppCommand": {
|
|
"appId": "com.example.include",
|
|
"clearState": null,
|
|
"clearKeychain": null,
|
|
"stopApp": null,
|
|
"permissions": null,
|
|
"launchArguments": null,
|
|
"label": null,
|
|
"optional": false
|
|
},
|
|
"setPermissionsCommand": null,
|
|
"applyConfigurationCommand": null,
|
|
"openLinkCommand": null,
|
|
"pressKeyCommand": null,
|
|
"eraseTextCommand": null,
|
|
"hideKeyboardCommand": null,
|
|
"takeScreenshotCommand": null,
|
|
"stopAppCommand": null,
|
|
"killAppCommand": null,
|
|
"clearStateCommand": null,
|
|
"clearKeychainCommand": null,
|
|
"runFlowCommand": null,
|
|
"setLocationCommand": null,
|
|
"setOrientationCommand": null,
|
|
"repeatCommand": null,
|
|
"copyTextCommand": null,
|
|
"setClipboardCommand": null,
|
|
"pasteTextCommand": null,
|
|
"defineVariablesCommand": null,
|
|
"runScriptCommand": null,
|
|
"waitForAnimationToEndCommand": null,
|
|
"evalScriptCommand": null,
|
|
"scrollUntilVisible": null,
|
|
"travelCommand": null,
|
|
"startRecordingCommand": null,
|
|
"stopRecordingCommand": null,
|
|
"addMediaCommand": null,
|
|
"setAirplaneModeCommand": null,
|
|
"toggleAirplaneModeCommand": null,
|
|
"retryCommand": null
|
|
},
|
|
{
|
|
"tapOnElement": {
|
|
"selector": {
|
|
"textRegex": null,
|
|
"idRegex": "included-button",
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
},
|
|
"tapOnPoint": null,
|
|
"tapOnPointV2Command": null,
|
|
"scrollCommand": null,
|
|
"swipeCommand": null,
|
|
"backPressCommand": null,
|
|
"assertCommand": null,
|
|
"assertConditionCommand": null,
|
|
"assertScreenshotCommand": null,
|
|
"assertNoDefectsWithAICommand": null,
|
|
"assertWithAICommand": null,
|
|
"extractTextWithAICommand": null,
|
|
"inputTextCommand": null,
|
|
"inputRandomTextCommand": null,
|
|
"launchAppCommand": null,
|
|
"setPermissionsCommand": null,
|
|
"applyConfigurationCommand": null,
|
|
"openLinkCommand": null,
|
|
"pressKeyCommand": null,
|
|
"eraseTextCommand": null,
|
|
"hideKeyboardCommand": null,
|
|
"takeScreenshotCommand": null,
|
|
"stopAppCommand": null,
|
|
"killAppCommand": null,
|
|
"clearStateCommand": null,
|
|
"clearKeychainCommand": null,
|
|
"runFlowCommand": null,
|
|
"setLocationCommand": null,
|
|
"setOrientationCommand": null,
|
|
"repeatCommand": null,
|
|
"copyTextCommand": null,
|
|
"setClipboardCommand": null,
|
|
"pasteTextCommand": null,
|
|
"defineVariablesCommand": null,
|
|
"runScriptCommand": null,
|
|
"waitForAnimationToEndCommand": null,
|
|
"evalScriptCommand": null,
|
|
"scrollUntilVisible": null,
|
|
"travelCommand": null,
|
|
"startRecordingCommand": null,
|
|
"stopRecordingCommand": null,
|
|
"addMediaCommand": null,
|
|
"setAirplaneModeCommand": null,
|
|
"toggleAirplaneModeCommand": null,
|
|
"retryCommand": null
|
|
}
|
|
],
|
|
"condition": null,
|
|
"sourceDescription": "runflow-child.yaml",
|
|
"config": {
|
|
"appId": "com.example.include",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": "After",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "authored/runscript",
|
|
"file": "authored/runscript.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "RunScriptCommand",
|
|
"fields": {
|
|
"script": "output.doubled = 2 + 2;\n",
|
|
"env": {},
|
|
"sourceDescription": "<corpus>/authored/runscript.js",
|
|
"condition": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "authored/scroll-until-visible",
|
|
"file": "authored/scroll-until-visible.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example.app",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "ScrollUntilVisibleCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": "Test",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"direction": "DOWN",
|
|
"scrollDuration": "40",
|
|
"visibilityPercentage": 100,
|
|
"timeout": "10000",
|
|
"waitToSettleTimeoutMs": null,
|
|
"centerElement": false,
|
|
"originalSpeedValue": "40",
|
|
"label": null,
|
|
"optional": false,
|
|
"visibilityPercentageNormalized": 1
|
|
}
|
|
}
|
|
]
|
|
},
|
|
{
|
|
"id": "authored/tree-relations",
|
|
"file": "authored/tree-relations.yaml",
|
|
"status": "parsed",
|
|
"commands": [
|
|
{
|
|
"type": "ApplyConfigurationCommand",
|
|
"fields": {
|
|
"config": {
|
|
"appId": "com.example",
|
|
"name": null,
|
|
"tags": [],
|
|
"ext": {},
|
|
"onFlowStart": null,
|
|
"onFlowComplete": null,
|
|
"properties": {}
|
|
},
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "TapOnElementCommand",
|
|
"fields": {
|
|
"selector": {
|
|
"textRegex": null,
|
|
"idRegex": "save",
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": {
|
|
"textRegex": "Save",
|
|
"idRegex": null,
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"containsDescendants": [
|
|
{
|
|
"textRegex": null,
|
|
"idRegex": "icon",
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
}
|
|
],
|
|
"traits": null,
|
|
"index": "${INDEX}",
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": {
|
|
"textRegex": null,
|
|
"idRegex": "card",
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"css": null
|
|
},
|
|
"retryIfNoChange": false,
|
|
"waitUntilVisible": false,
|
|
"longPress": false,
|
|
"repeat": null,
|
|
"waitToSettleTimeoutMs": null,
|
|
"relativePoint": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
},
|
|
{
|
|
"type": "AssertConditionCommand",
|
|
"fields": {
|
|
"condition": {
|
|
"platform": null,
|
|
"visible": {
|
|
"textRegex": null,
|
|
"idRegex": "card",
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": [
|
|
{
|
|
"textRegex": null,
|
|
"idRegex": "save",
|
|
"size": null,
|
|
"below": null,
|
|
"above": null,
|
|
"leftOf": null,
|
|
"rightOf": null,
|
|
"containsChild": null,
|
|
"containsDescendants": null,
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
}
|
|
],
|
|
"traits": null,
|
|
"index": null,
|
|
"enabled": null,
|
|
"optional": false,
|
|
"selected": null,
|
|
"checked": null,
|
|
"focused": null,
|
|
"childOf": null,
|
|
"css": null
|
|
},
|
|
"notVisible": null,
|
|
"scriptCondition": null,
|
|
"label": null
|
|
},
|
|
"timeout": null,
|
|
"label": null,
|
|
"optional": false
|
|
}
|
|
}
|
|
]
|
|
}
|
|
],
|
|
"contentHash": "3fab6cb48d4ac7ec2640faa223b86a1dd58439d1e181ce442a76a5f754efc725"
|
|
}
|