- Overview
- UI Automation
- Applications and technologies automated with UI Automation
- Project compatibility
- UI-ANA-016 - Pull Open Browser URL
- UI-ANA-017 - ContinueOnError True
- UI-ANA-018 - List OCR/Image Activities
- UI-DBP-006 - Container Usage
- UI-DBP-013 - Excel Automation Misuse
- UI-DBP-030 - Forbidden Variables Usage In Selectors
- UI-DBP-031 - Activity verification
- UI-PRR-001 - Simulate Click
- UI-PRR-002 - Simulate Type
- UI-PRR-003 - Open Application Misuse
- UI-PRR-004 - Hardcoded Delays
- UI-REL-001 - Large Idx in Selectors
- UI-SEC-004 - Selector Email Data
- UI-SEC-010 - App/Url Restrictions
- UI-USG-011 - Non Allowed Attributes
- UX-SEC-010 - App/Url Restrictions
- UX-DBP-029 - Insecure Password Use
- UI-PST-001 - Audit Log Level in Project Settings
- UiPath Browser Migration Tool
- Clipping region
- Computer Vision Recorder
- Activities index
- Activate
- Anchor Base
- Attach Browser
- Attach Window
- Block User Input
- Callout
- Check
- Click
- Click Image
- Click Image Trigger
- Click OCR Text
- Click Text
- Click Trigger
- Close Application
- Close Tab
- Close Window
- Context Aware Anchor
- Copy Selected Text
- Element Attribute Change Trigger
- Element Exists
- Element Scope
- Element State Change Trigger
- Export UI Tree
- Extract Structured Data
- Find Children
- Find Element
- Find Image
- Find Image Matches
- Find OCR Text Position
- Find Relative Element
- Find Text Position
- Get Active Window
- Get Ancestor
- Get Attribute
- Get Event Info
- Get From Clipboard
- Get Full Text
- Get OCR Text
- Get Password
- Get Position
- Get Source Element
- Get Text
- Get Visible Text
- Go Back
- Go Forward
- Go Home
- Google Cloud Vision OCR
- Hide Window
- Highlight
- Hotkey Trigger
- Hover
- Hover Image
- Hover OCR Text
- Hover Text
- Image Exists
- Indicate On Screen
- Inject .NET Code
- Inject Js Script
- Invoke ActiveX Method
- Key Press Trigger
- Load Image
- Maximize Window
- Microsoft Azure Computer Vision OCR
- Microsoft OCR
- Microsoft Project Oxford Online OCR
- Minimize Window
- Monitor Events
- Mouse Trigger
- Move Window
- Navigate To
- OCR Text Exists
- On Element Appear
- On Element Vanish
- On Image Appear
- On Image Vanish
- Open Application
- Open Browser
- Refresh Browser
- Replay User Event
- Restore Window
- Save Image
- Select Item
- Select Multiple Items
- Send Hotkey
- Set Clipping Region
- Set Focus
- Set Text
- Set To Clipboard
- Set Web Attribute
- Show Window
- Start Process
- System Trigger
- Take Screenshot
- Tesseract OCR
- Text Exists
- Tooltip
- Type Into
- Type Secure Text
- Use Foreground
- Wait Attribute
- Wait Element Vanish
- Wait Image Vanish
- Application Event Trigger
- Check/Uncheck
- Check App State
- Check Element
- Click
- Click Event Trigger
- Drag and Drop
- Extract Table Data
- For Each UI Element
- Get Browser Data
- Get Clipboard
- Get Text
- Get URL
- Go to URL
- Highlight
- Hover
- Inject Js Script
- Keyboard Shortcuts
- Keypress Event Trigger
- Mouse Scroll
- Navigate Browser
- Select Item
- Set Browser Data
- Set Clipboard
- Set Runtime Browser
- Set Text
- Take Screenshot
- Type Into
- Use Application/Browser
- Window Operation
- Perform browser search and retrieve results using UI Automation APIs
- Web Browsing
- Find Images
- Click Images
- Trigger and Monitor Events
- Create and Override Files
- HTML Pages: Extract and Manipulate Information
- Window Manipulation
- Automated List Selection
- Find and Manipulate Window Elements
- Manage Text Automation
- Load and Process Images
- Manage Mouse Activated Actions
- Automate Application Runtime
- Automated Run of a Local Application
- Browser Navigation
- Web Automation
- Trigger Scope Example
- Enable UI Automation support in DevExpress
- Computer Vision Local Server
- Mobile Automation
- Release notes
- About the mobile device automation architecture
- Project compatibility
- Get Log Types
- Get Logs
- Get Page Source
- Get Device Orientation
- Get Session Identifier
- Install App
- Manage Current App
- Manage Other App
- Open DeepLink
- Open URL
- Mobile Device Connection
- Directional Swipe
- Draw Pattern
- Positional Swipe
- Press Hardware Button
- Set Device Orientation
- Take Screenshot
- Take Screenshot Part
- Element Exists
- Execute Command
- Get Attribute
- Get Selected Item
- Get Text
- Set Selected Item
- Set Text
- Swipe
- Tap
- Type Text
- Terminal

UI Automation Activities
Local Android devices
linkSetting up local Android devices
linkTo set up a local device to work with the Mobile Automation activities, you need to run a local instance of Appium, and have the necessary tools to automate Android devices.
There are two types of local Android devices that you can automate:
- Physical - a physical Android device that you can connect to your local machine, through a USB cable.
- Emulator - an emulator for an Android device that's stored locally.
Most used Appium commands
linkThe list below describes the most used commands for setting up Appium in the context of Mobile Device Automation:
appium driver list
- lists installed drivers (recommended for Appium 2.0)adb devices
- lists the connected devicesadb start-server
- starts debugging serveradb kill-server
- stops the debugging serverctrl + c
- kills Appiumappium-doctor
- helps in debugging your Appium.
Application Storage
linkAPK
or IPA
file to an URL that is anonymously accessible by the Appium server (e.g. Blob storage).
Installing applications from the Play Store or App Store is not possible, except if you manually automate these applications to install your specific application.
Configuring Local Physical Android Device
linkPrerequisites
Follow the steps below to complete the prerequisites for configuring a local physical Android device:
- Download and install Java. You can download Java through a zip file here.
- Download and install Node.js. You can download the latest version of Node.js here.
- After the installation of Node.js is finished, open a command prompt and check if it was successful, using the following commands:
node-v
- returns the Node.js version installed on your machine. The version returned needs to be equal to, or higher than 19.npm-v
- returns the version of npm installed on your machine. The version returned needs to be equal to, or higher than 8.
- Download and install Android Studio. You can download Android Studio here.
- Install Android SDK Tools (Obsolete) using Android Studio.
- In Windows, navigate to Advanced system settings > Advanced > Environment Variables.
- Under System variables click New and configure the following variables:
a. JAVA_HOME variable. Points to the folder where Java was installed.
JAVA_HOME
.
C:\Program Files\Java\jdk8
.
b. ANDROID_HOME variable. Points to the folder where Android SDK was installed.
ANDROID_HOME
Variable value: the path where the Android SDK is located on your machine. For example: C:\Users\Username\AppData\Local\Android\Sdk
Note: The Username
part, inside the Variable Value path, must be replaced with the actual name of the user operating on the machine.
-
Open the Node.js command prompt and install Appium:
- For Appium 1.0, run the following command:
npm install -g appium
. Appium 1.0 comes with all drivers installed. - For Appium 2.0, run the following command:
npm install -g appium@next
.
- For Appium 1.0, run the following command:
appium driver install
uiautomator2
.
For more information on Appium 1.0 configuration, see Quick Start Intro.
- Restart the computer to apply the changes.
-
Open the physical mobile device, and enable Developer Options.
- On your phone, navigate to Settings > Developer Options.
- Under the Networking section, open Default USB configuration and set it to Charging phone only.
- Enable USB debugging.
- On your phone, navigate to Settings > Developer Options.
- Under the Networking section, open Default USB configuration and set it to Charging phone only.
Configuring Local Physical Android Device
- Connect the physical device to the local machine, using a USB cable.
- Open a command prompt, and start the debugging server, using the following command:
adb.exe start-server
. - Allow USB debugging on the mobile device (if you're asked to allow it).
- Manually add
the --base-path /wd/hub
parameter before starting the Appium session. - Start the Appium server, using the following command:
appium -p 10001 --relaxed-security --allow-insecure chromedriver_autodownload
.Note:- If the auto-download fails, you can point to an already downloaded chromedriver.exe, by concatenating the following command:
--chromedriver-executable "path_to_chromedriver"
- Make sure to leave the Appium server connection running without any interferences. For example, if you click within the terminal, the communication is cut off, which may lead to a communication error in Mobile Device Manager.
- Add the configurated local physical Android device in Mobile Device Manager, using the Adding Local Android Device in Mobile Device Manager procedure.
Configuring Local Emulated Android Device
linkPrerequisites
- Download and install Java. You can download Java through a zip file here.
- Download and install Node.js. You can download the latest version of Node.js here.
- After the installation of Node.js is finished, open a command prompt and check if it was successful, using the following commands:
node-v
- returns the Node.js version installed on your machine. The version returned needs to be equal to, or higher than 19.npm-v
- returns the version of npm installed on your machine. The version returned needs to be equal to, or higher than 8.
- Download and install Android Studio. You can download Android Studio here.
- In Windows, navigate to Advanced system settings > Advanced > Environment Variables.
- Under System variables click New and configure the following variables:
a. JAVA_HOME variable. Points to the folder where Java was installed.
JAVA_HOME
.
C:\Program Files\Java\jdk8
.
b. ANDROID_HOME variable. Points to the folder where Android SDK was installed.
- Variable name:
ANDROID_HOME
-
Variable value: the path where the Android SDK is located on your machine. For example:
C:\Users\Username\AppData\Local\Android\Sdk
Note: TheUsername
part, inside the Variable Value path, must be replaced with the actual name of the user operating on the machine.- Open the Node.js command prompt and install Appium:
- For Appium 1.0, run the following command:
npm install -g appium
. Appium 1.0 comes with all drivers installed. - For Appium 2.0, run the following command:
npm install -g appium@next
.
appium driver install uiautomator2
.
For more information on Appium 2.0 configuration, see Quick Start Intro.
- Restart the computer to apply the changes.
Creating Android Emulator
Create your Android emulator using Android Studio.
- Open Android Studio.
- Click Configure and select SDK Manager from the dropdown.
- Uncheck Hide Obsolete Packages and make sure that Android SDK Tools (Obsolete) is selected.
- Click Apply and then Ok to close.
- Navigate to Configure > AVD Manager to configure a virtual device. For more information, see Create and manage virtual devices.
- Update your device's Google apps.
Enabling Web and Hybrid Automation With WebDriver
Enable WebView debugging on the local device to allow Mobile Device Manager to recognize the majority of UI elements inside an application.
If Appium doesn't autodetect the Chrome or the WebView version on your Android, choose one of the options below:
- Use the
--allow-insecure chromedriver_autodownload
command. This enables Appium to automatically detect and download the ChromeDriver version that corresponds to your environment. - Manually specify and download the WebDriver for Chrome:
2.1. Open your device in Android Studio.
2.2. Navigate to Settings > Apps & notifications.
2.3 Click See all apps.
2.4. Click the vertical ellipsis button and select Show system from the dropdown.
2.5. Use the search function to look for Android System WebView.
2.6. Open the app and go to Advanced.
2.7. Copy the version number at the bottom of the screen.
2.8. Download WebDriver for Chrome and consider the following:
- Select the version that corresponds to the Android System Webview version from the previous step, and extract it to a folder.
- You are looking for an exact match for the version (major.minor.patch.revision).
- In case an exact match isn't available, use the latest major version of ChromeDriver that matches the major version of the Android System Webview.
- If you want to automate the Chrome app just perform the same steps from above and keep a note of the Chrome version instead.
- Add the configured local emulated device in Mobile Device Manager, using the Adding Local Android Device in Mobile Device Manager procedure.
Adding Local Android Device in Mobile Device Manager
link- Open MDM from Studio.
- In the left navigation panel go to Devices.
- Configure your device as follows:
- Name - Enter a name to identify your device in the Devices tab.
- Appium URL - Enter the localhost. For example:
http://localhost:10001/wd/hub
. - Platform - Click the field to select Android from the dropdown.
- Device Name - Enter the device name. One way to see that is through Android Studio if you navigate to Configure > AVD Manager, and then go to More Actions > View Details.
- Platform Version - Add the version number of your Android OS.
-
Additional Desired Capabilities (Optional) - Add specific capabilities to customize your automation session.
Important: To activate the previously installed Appium drivers, add the following capability to the Additional Desired Capabilities section:Name
Value
appium:automationName
UiAutomator2
For more information, see Appium Desired Capabilities.
- (Optional) - Set your device location in the Location tab, to test applications that use Location Services to generate location data.
- (Optional) Configure logging and video recording details in the Logging tab.
- (Optional) Configure your development process in the Development tab.
- Close Similar Tabs (Activated by default): Close tabs running connections with similar devices and applications.
- Wait for Page Update (Activated by default): Wait for the page source to retrieve a screenshot of each action.
- Click Save & Close to add your device.
Your device is added to the Devices list. To add a local device, see .
- Setting up local Android devices
- Most used Appium commands
- Application Storage
- Configuring Local Physical Android Device
- Prerequisites
- Configuring Local Physical Android Device
- Configuring Local Emulated Android Device
- Prerequisites
- Creating Android Emulator
- Enabling Web and Hybrid Automation With WebDriver
- Adding Local Android Device in Mobile Device Manager