Click the action in a Step to see all available actions.

Motion #
Basic gestures used for smartphone interactions.
Touch #
Touch a UIObject on the screen.

Attributes
- UIObject: UIObject to touch
- type:
- Single: Touch once
- Double: Touch twice
- Long: Touch and hold
- duration: Touch hold time (default: 3,000ms, range: 1,000~5,000ms)
- N Times: Repeat touches
- count: Number of touches (default: 2, range: 1~100)
- interval: Wait time between touches (default: 1,000ms, range: 500~5,000ms)
Swipe #
Swipe left or right across the screen.

Attributes
- UIObject: Area to swipe
- area: Swipe range (default: 60%, range: 1~100%)
- direction: Swipe direction (default: LEFT, options: LEFT/RIGHT)
- duration: Swipe time (default: 2,500ms, range: 100~5,000ms)
Scroll #
Scroll up and down on the screen.
Scrolling may not work if there are touchable elements like buttons or menus at the scroll start position.

Attributes
- UIObject: Area to scroll
- area: Scroll range (default: 60%, range: 1~100%)
- direction: Scroll direction (default: DOWN, options: DOWN/UP/BOTTOM/TOP)
- DOWN/UP: Normal scroll
- BOTTOM/TOP: Scroll to end
- duration: Scroll time (default: 2,500ms, range: 100~5,000ms)
- limit (BOTTOM/TOP only): Time limit for scrolling to end (default: 10,000ms, range: 5,000~600,000ms)
Drag #
Drag from a start UIObject to an end UIObject. Commonly used for date or time setting screens.


Attributes
- start UIObject: UIObject to start dragging from
- end UIObject: UIObject to end dragging at
- press duration: Long press time before dragging starts (default: 0ms, range: 0~5,000ms)
- drag duration: Drag time (default: 2,500ms, range: 500~5,000ms)
Pinch #
Zoom in or zoom out on the screen.

Attributes
- UIObject: UIObject to pinch
- action area: Pinch range (default: 60%, range: 50~100%)
- direction: Pinch direction (default: IN, options: IN/OUT)
- IN: Zoom Out
- OUT: Zoom In
- duration: Pinch time (default: 2,500ms, range: 1,000~5,000ms)
Input #
Enter text using the keyboard. Touch an input field to show the keyboard, then set UIObject to Full Screen.

Attributes
- UIObject: UIObject to enter text (use Full Screen with keyboard visible)
- value: Text to enter (direct input or User Variable in ${key} format)
Secure Keyboard #
Enter text using a secure keyboard. Activate the secure keyboard, then set UIObject to Full Screen.

Attributes
- UIObject: UIObject to enter text (use Full Screen with secure keyboard visible)
- value: Value to enter in secure keyboard
- typename: Secure keyboard type (automatically recognized by AI)
- interval: Key input interval (default: 1,000ms, range: 500~5,000ms)
Event #
Actions that control devices and apps.
Rotate #
Change the device screen orientation.

Attributes
- orientation: Screen orientation (default: PORTRAIT, options: PORTRAIT/LANDSCAPE)
Wait #
Wait for the set time before running the next Step.

Attributes
- value: Wait time (default: 2,000ms, range: 500~600,000ms)
Launch #
Launch an app or access a URL in a browser.


Attributes
- type: Launch method (options: APP/BROWSER)
- APP:
- Package Name: Package name of Android app to launch
- Bundle ID: Bundle ID of iOS app to launch
- BROWSER:
- URL: Website address to visit
- Android: Browser app to use on Android
- iOS: Browser app to use on iOS
→ Stego User Guide > 5.0. Device Control Features
Terminate #
Close a running app.

Attributes
- Package Name: Package name of Android app to close
- Bundle ID: Bundle ID of iOS app to close
Activate #
Bring a background app to the foreground.

Attributes
- Package Name: Package name of Android app to activate
- Bundle ID: Bundle ID of iOS app to activate
Home #
Go to the device home screen.
Lock #
Lock the device.
Unlock #
Unlock the device.
Wake Up #
Wake the device from sleep mode.
Keycode #
Send various key commands to Android devices. Only available when connected to Android devices.

Attributes
- value: Keycode value to enter (direct input or choose from defaults)
- e.g., Back(4), Enter(66), Del(67), AppSwitch(187)
- count: Number of times to run (default: 1, range: 1~100)
- interval: Interval between runs (default: 1,000ms, range: 500~5,000ms)
Variable #
Features for storing data or creating values during tests.
Store Value #
Store a specific value.

Attributes
- key: Name of the value to store
- value: Value to store
Store Content #
Read and store text from a UIObject.

Attributes
- UIObject: UIObject to read text from
- key: Name of the value to store
- type
- String: Store as text
- Number: Store numbers only
- pattern: Regular expression patterns allowed (e.g., (?<=:)\d+)
Store Random Number #
Store a random number between 0~100.

Attributes
- key: Name of the value to store
Store Random Text #
Store random characters from lowercase letters (a-z), uppercase letters (A-Z), and numbers (0-9).

Attributes
- key: Name of the value to store
- prefix: Fixed value to add at the beginning of text (optional)
- number of characters: Number of characters to create (default: 3, range: 1~10)
Control #
Control scenario flow with conditional branching and repeated runs.
If UIObject #
Check if a UIObject exists on screen and run child steps.


Attributes
- UIObject: UIObject to check for existence
- wait timeout: Maximum wait time (default: 0ms, range: 0~600,000ms)
- comparator: Run condition
- EXISTS: Run child steps if UIObject exists
- NOT EXISTS: Run child steps if UIObject doesn’t exist
If Content #
Compare UIObject text or color and run child Steps.


Attributes
- UIObject: UIObject to compare text or color from
- wait timeout: Maximum wait time (default: 0ms, range: 0~600,000ms)
- comparator
- =: Run if text matches
- !=: Run if text doesn’t match
- >, >=, <, <=: Number comparison
- match: Check if regex pattern matches from beginning of text
- search: Check if regex pattern exists anywhere in text
- color: Match center color of UIObject
- value: Value to compare (direct input or User Variable in ${key} format)
- When comparator is color:
- color: Hex color code (e.g.,
#BABABA
) - threshold: Color similarity threshold (default: 0.9)
- color: Hex color code (e.g.,
- When comparator is color:
If Value #
Compare with saved values and run child steps.

Attributes
- key: Name of value to compare
- comparator
- =: Run if text matches
- !=: Run if text doesn’t match
- >, >=, <, <=: Number comparison
- match: Check if regex pattern matches from beginning of text
- search: Check if regex pattern exists anywhere in text
- value: Value to compare (direct input or User Variable in ${key} format)
If Changed #
Compare the previous Step screen with the current screen and run child Steps if there are changes. Useful for checking toast popups or video playback.

Attributes
- UIObject: UIObject to check for changes
- threshold: Change detection threshold (default: 10%, range: 1~100%)
- wait timeout: Maximum wait time (default: 5,000ms, range: 3,000~10,000ms)
If Role #
Specify Steps to run only on specific devices in D2D testing. Runs based on device roles defined in Scenario Settings.

Attributes
- role: Device role to run child Steps on (maximum 4)
→ Stego User Guide > 10.0. Scenario Examples
Loop UIObject #
Repeat child Steps based on UIObject existence. Useful for scrolling through lists until the desired item appears.

Attributes
- UIObject: UIObject to check for existence
- comparator
- EXISTS: Repeat while screen element exists
- NOT EXISTS: Repeat while screen element doesn’t exist
- limit: Maximum repeat count (default: 5, range: 1~1,000)
Loop NTimes #
Repeat child Steps a set number of times.

Attributes
- limit: Number of repeats (default: 5, range: 1~1,000)
Loop Content #
Compare UIObject text or color with a set value and decide whether to repeat.

Attributes
- UIObject: UIObject to compare text or color from
- comparator
- =: Run if text matches
- !=: Run if text doesn’t match
- >, >=, <, <=: Number comparison
- match: Check if regex pattern matches from beginning of text
- search: Check if regex pattern exists anywhere in text
- color: Match center color of UIObject
- value: Value to compare (direct input or User Variable in ${key} format)
- When comparator is color:
- color: Hex color code (e.g.,
#BABABA
) - threshold: Color similarity threshold (default: 0.9)
- color: Hex color code (e.g.,
- When comparator is color:
- limit: Repeat count (default: 5, range: 1~1,000)
Loop Value #
Compare with saved values and repeat child Steps.

Attributes
- key: Name of value to compare
- comparator
- =: Run if text matches
- !=: Run if text doesn’t match
- >, >=, <, <=: Number comparison
- match: Check if regex pattern matches from beginning of text
- search: Check if regex pattern exists anywhere in text
- value: Value to compare (direct input or User Variable in ${key} format)
- limit: Repeat count (default: 5, range: 1~1,000)
Wait For #
Wait until a screen element appears or disappears. Can reduce test time when loading times are irregular.

Attributes
- UIObject: UIObject to wait for
- wait timeout: Maximum wait time (default: 5,000ms, range: 1,000~600,000ms)
- until
- EXISTS: Wait until screen element appears
- NOT EXISTS: Wait until screen element disappears
Assertion #
Verify expected results.
Assert UIObject #
Check if a UIObject exists.

Attributes
- UIObject: UIObject to check
- wait timeout: Maximum wait time (default: 0ms, range: 0~600,000ms)
- comparator
- EXISTS: Pass if UIObject exists
- NOT EXISTS: Pass if UIObject doesn’t exist
- custom message: Message to show as check result
- label: maximum 10, added to Ptero Label when Assertion fails
- type: How to handle failure
- FAILED: Red display, stop test
- WARNING: Yellow display, continue test
Assert Content #
Compare UIObject text or color with a specified value and check.

Attributes
- UIObject: UIObject to check
- comparator
- =: Run if text matches
- !=: Run if text doesn’t match
- >, >=, <, <=: Number comparison
- match: Check if regex pattern matches from beginning of text
- search: Check if regex pattern exists anywhere in text
- color: Match center color of UIObject
- value: Value to compare (direct input or User Variable in ${key} format)
- When comparator is color:
- color: Hex color code (e.g.,
#BABABA
) - threshold: Color similarity threshold (default: 0.9)
- color: Hex color code (e.g.,
- When comparator is color:
- wait timeout: Maximum wait time (default: 0ms, range: 0~600,000ms)
- custom message: Message to show as check result
- label: maximum 10, added to Ptero Label when Assertion fails
- type: How to handle failure
- FAILED: Red display, stop test
- WARNING: Yellow display, continue test
Assert Value #
Compare saved values with specified values and check.

Attributes
- key: Name of value to check
- comparator
- =: Run if text matches
- !=: Run if text doesn’t match
- >, >=, <, <=: Number comparison
- match: Check if regex pattern matches from beginning of text
- search: Check if regex pattern exists anywhere in text
- value: Value to compare (direct input or User Variable in ${key} format)
- wait timeout: Maximum wait time (default: 0ms, range: 0~600,000ms)
- custom message: Message to show as check result
- label: maximum 10, added to Ptero Label when Assertion fails
- type: How to handle failure
- FAILED: Red display, stop test
- WARNING: Yellow display, continue test
Assert Changed #
Check for UIObject changes between the previous step run and current state.

Attributes
- UIObject: UIObject to check
- threshold: Change detection threshold (default: 10%, range: 1~100%)
- wait timeout: Maximum wait time (default: 0ms, range: 0~600,000ms)
- custom message: Message to show as check result
- label: maximum 10, added to Ptero Label when Assertion fails
- type: How to handle failure
- FAILED: Red display, stop test
- WARNING: Yellow display, continue test
Assert Wait For #
Wait until UIObjects appear or disappear, then check. Use when loading times are irregular.

Attributes
- UIObject: UIObject to check
- wait timeout: Maximum wait time (default: 0ms, range: 0~600,000ms)
- until
- EXISTS: Pass if UIObject exists
- NOT EXISTS: Pass if UIObject doesn’t exist
- custom message: Message to show as check result
- label: maximum 10, added to Ptero Label when Assertion fails
- type: How to handle failure
- FAILED: Red display, stop test
- WARNING: Yellow display, continue test
Assert Message #
Check if toast messages appear.

Attributes
- comparator
- =: Run if text matches
- !=: Run if text doesn’t match
- >, >=, <, <=: Number comparison
- match: Check if regex pattern matches from beginning of text
- search: Check if regex pattern exists anywhere in text
- value: Value to compare (direct input or User Variable in ${key} format)
- wait timeout: Maximum wait time (default: 0ms, range: 0~600,000ms)
- use previous screen
- TRUE: Check for changes starting from before the previous step runs
- FALSE: Check for changes starting from after the current step runs
- custom message: Message to show as check result
- label: maximum 10, added to Ptero Label when Assertion fails
- type: How to handle failure
- FAILED: Red display, stop test
- WARNING: Yellow display, continue test
Advanced #
Structure scenarios and control tests with advanced features.
Common Scenario #
Load and use Common Scenarios.

Attributes
- Common Scenario : Common Scenario to use
Script #
Use when you need code processing like number calculations or external API calls.

Attributes
- language: Language to use (default: python, options: python/bash)
- script: Write code to run
: Copy written code
: Write code in large screen
: Run code
- timeout: Maximum run time (default: 10,000ms, range: 3,000~1,200,000ms)
Block #
Group related Steps together to make scenario structure clearer.

Attributes
- Description: Description of the Block
- The content you enter shows as a summary on the right side of the Block.
When users click summary information, the summary disappears and the full description expands.
You can collapse the full description by clicking or the summary display area again.
To expand or collapse all descriptions at once, use the button at the top of Scenario Editor.
Finish #
End the test at any time. Result status is determined by the type.

Attributes
- type: Test result (options: ERROR/WARNING/PASS)
- message: Reason for ending message
- label: maximum 10, added to Ptero without conditions
Sync #
Synchronize run timing of multiple devices in D2D testing. All devices wait until they reach this point, then proceed to the next step simultaneously.
Shows when device roles are set in Scenario Settings > D2D Test.
When Sync action runs, all participating devices wait until they reach this point. After all devices reach the sync point, the next step runs simultaneously.
Example run pattern:
- Device A: Step 1 → Step 2 → Sync → (wait) → Step 5
- Device B: Step 1 → Step 3 → Step 4 → Sync → (wait) → Step 5
After both devices reach the Sync point, Step 4 runs simultaneously.
Sync action is essential in these situations:
- When you need to confirm message receipt after sending
- When you need simultaneous confirmation after file sharing completes
- When simultaneous actions are needed in games
→ Stego User Guide > 10.0. Scenario Examples