studio
latest
false
- Getting Started
- Setup and Configuration
- Automation Projects
- Dependencies
- Types of Workflows
- Control Flow
- File Comparison
- Automation Best Practices
- Source Control Integration
- Debugging
- Logging
- The Diagnostic Tool
- Workflow Analyzer
- About Workflow Analyzer
- ST-NMG-001 - Variables Naming Convention
- ST-NMG-002 - Arguments Naming Convention
- ST-NMG-004 - Display Name Duplication
- ST-NMG-005 - Variable Overrides Variable
- ST-NMG-006 - Variable Overrides Argument
- ST-NMG-008 - Variable Length Exceeded
- ST-NMG-009 - Prefix Datatable Variables
- ST-NMG-011 - Prefix Datatable Arguments
- ST-NMG-012 - Argument Default Values
- ST-NMG-016 - Argument Length Exceeded
- ST-NMG-017 - Class name matches default namespace
- ST-DBP-002 - High Arguments Count
- ST-DBP-003 - Empty Catch Block
- ST-DBP-007 - Multiple Flowchart Layers
- ST-DPB-010 - Multiple instances of [Workflow] or [Test Case]
- ST-DBP-020 - Undefined Output Properties
- ST-DBP-021 - Hardcoded Timeout
- ST-DBP-023 - Empty Workflow
- ST-DBP-024 - Persistence Activity Check
- ST-DBP-025 - Variables Serialization Prerequisite
- ST-DBP-027 - Persistence Best Practice
- ST-DBP-028 - Arguments Serialization Prerequisite
- ST-USG-005 - Hardcoded Activity Arguments
- ST-USG-009 - Unused Variables
- ST-USG-010 - Unused Dependencies
- ST-USG-014 - Package Restrictions
- ST-USG-017 - Invalid parameter modifier
- ST-USG-020 - Minimum Log Messages
- ST-USG-024 - Unused Saved for Later
- ST-USG-025 - Saved Value Misuse
- ST-USG-026 - Activity Restrictions
- ST-USG-027 - Required Packages
- ST-USG-028 - Restrict Invoke File Templates
- ST-USG-032 - Required Tags
- ST-USG-034 - Automation Hub URL
- Variables
- Arguments
- Imported Namespaces
- Coded automations
- Introduction
- Creating your first coded test case
- Registering custom services
- Before and After contexts
- Generating code
- Generating coded test case from manual test cases
- Troubleshooting
- Trigger-based Attended Automation
- Recording
- UI Elements
- Selectors
- Object Repository
- Data Scraping
- Image and Text Automation
- Citrix Technologies Automation
- RDP Automation
- VMware Horizon Automation
- Salesforce Automation
- SAP Automation
- macOS UI Automation
- The ScreenScrapeJavaSupport Tool
- The WebDriver Protocol
- Extensions
- About extensions
- SetupExtensions tool
- UiPathRemoteRuntime.exe is not running in the remote session
- UiPath Remote Runtime blocks Citrix session from being closed
- UiPath Remote Runtime causes memory leak
- UiPath.UIAutomation.Activities package and UiPath Remote Runtime versions mismatch
- The required UiPath extension is not installed on the remote machine
- Screen resolution settings
- Group Policies
- Cannot communicate with the browser
- Chrome extension is removed automatically
- The extension may have been corrupted
- Check if the extension for Chrome is installed and enabled
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Enable access to file URLs and Incognito mode
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- List of extensions for Chrome
- Chrome Extension on Mac
- Group Policies
- Cannot communicate with the browser
- Edge extension is removed automatically
- The extension may have been corrupted
- Check if the Extension for Microsoft Edge is installed and enabled
- Check if ChromeNativeMessaging.exe is running
- Check if ComSpec variable is defined correctly
- Enable access to file URLs and InPrivate mode
- Multiple browser profiles
- Group Policy conflict
- Known issues specific to MV3 extensions
- List of extensions for Edge
- Extension for Safari
- Extension for VMware Horizon
- Extension for Amazon WorkSpaces
- SAP Solution Manager plugin
- Excel Add-in
- Studio testing
- Troubleshooting
- About troubleshooting
- Assembly compilation errors
- Microsoft App-V support and limitations
- Internet Explorer X64 troubleshooting
- Microsoft Office issues
- Identifying UI elements in PDF with Accessibility options
- Repairing Active Accessibility support
- Validation of large Windows-legacy projects takes longer than expected

Studio User Guide
Last updated Sep 10, 2025
Creating your first coded test case
linkThis tutorial provides step-by-step instructions for creating a coded test case that types information into a web form and
verifies it using Test Manager. To automate the web form and access it, the example uses Object Repository elements and UIAutomation. You can access the sample form here.
Prerequisites
- UiAutomation.Activities 23.10
- Testing.Activities 23.10
- UiPath Chrome extension
- Create a coded test case. From the File group, select New, and then Coded Test Case.The code for the test case is split into three parts (Arrange-Act-Assert), similar to the Given-When-Then template.
- Arrange – Setup test data.
- Act – Perform test case steps.
- Assert – Verify the test case result.
- Retrieve the UI elements from your testing application, so you can use them in your Coded Test Case. For this example, retrieve the UI elements from the web form. Go to the Object Repository tab and create an application named TestForm.
- Inside the TestForm application, create a screen named TestFormScreen, and indicate the Chrome tab where the web form is open.
- Inside the TestFormScreen create an element for every form field, and buttons inside the form. The UI elements are ordered alphabetically, in ascending
order.
- Start designing your Coded Test Case, using the UIAutomation and Testing services.
-
In the Arrange section use the
UIAutomation service along with the Open and TypeInto coded automation
APIs to open the web form and input test data. For
this example, use the following code sample:
var screen = uiAutomation.Open(ObjectRepository.Descriptors.TestForm.TestFormScreen); screen.TypeInto(ObjectRepository.Descriptors.TestForm.TestFormScreen.Name, "John Doe"); screen.TypeInto(ObjectRepository.Descriptors.TestForm.TestFormScreen.Email, "[email protected]"); screen.TypeInto(ObjectRepository.Descriptors.TestForm.TestFormScreen.Password, "1234"); screen.TypeInto(ObjectRepository.Descriptors.TestForm.TestFormScreen.ConfirmPassword, "1234");
var screen = uiAutomation.Open(ObjectRepository.Descriptors.TestForm.TestFormScreen); screen.TypeInto(ObjectRepository.Descriptors.TestForm.TestFormScreen.Name, "John Doe"); screen.TypeInto(ObjectRepository.Descriptors.TestForm.TestFormScreen.Email, "[email protected]"); screen.TypeInto(ObjectRepository.Descriptors.TestForm.TestFormScreen.Password, "1234"); screen.TypeInto(ObjectRepository.Descriptors.TestForm.TestFormScreen.ConfirmPassword, "1234");Tip: Use IntelliSense inside the Studio IDE. PressCtrl+Space
and use IntelliSense for:- Autocompleting code
- Reading coded automation API documentation –
reading the parameters of an API. In the Coded
automations ecosystem, API parameters are the
equivalent of activity properties.
- In the Act section type the action of submitting the form. For this example, use the following code sample:
screen.Click("Submit");
screen.Click("Submit"); -
In the Assert section use the
Testing service, along with the VerifyExpression coded
automation API, to verify if the text inside
Verification is the username input from
step 6. For this example, use the following code
sample:
testing.VerifyExpression(screen.GetText("Verification") == "John Doe");
testing.VerifyExpression(screen.GetText("Verification") == "John Doe");
Sample project
linkTo follow the steps and try out the tutorial yourself, download the following sample project: First coded test case.