studio
2024.10
true
- Release Notes
- 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-026 - Delay Activity Usage
- 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
- Registering custom services
- Before and After contexts
- Generating code
- Generating coded test case from manual test cases
- 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
- Test Suite - Studio
- Introduction
- Application Testing
- Test Automation Framework
- Execution Templates
- Mock Testing
- API Test Automation
- 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
Test Automation Framework
Studio User Guide
Last updated Dec 19, 2024
Test Automation Framework
The Test Automation Framework is a template that provides a foundation for testing projects by incorporating essential best practices. The framework includes capabilities for managing assets, constants, logging, and exception handling.
The template follows three consecutive phases:
- SetUp (SetUp.xaml) — This phase reads the Assets.json file and initializes the applications used in the process. If the initialization is successful, the execution moves to the
Run Test phase. If it fails, the execution ends, and a test case fails, generating a screenshot that is available in Orchestrator.
- InitAllAssets.xaml— This phase initializes, populates, and outputs a configuration dictionary, Assets, that is used throughout the project. Assets are retrieved from Orchestrator.
- Run Test (placeholder for test case)— This phase is where the Test Case is executed. The Placeholder activity changes at runtime into an Invoke Workflow File activity. This activity then invokes the Test Case with the execution template attached to it. This creates a temporary workflow
file called Generated – testCaseName. The Test Case is wrapped in a Timeout Scope that has the Throw Exception After input value set to the TestTimeOut constant. If the execution of the Test Case exceeds the TestTimeOut, it stops the execution. This is useful in case a process ends up in an infinite loop, as it stops the execution so the robot
can be free.
- TearDown (TearDown.xaml)— This phase finalizes the test case execution and performs necessary actions to clean up the environment for future runs.
- KillAllProcesses.xaml—Forces the termination of a Windows process that represents an application used in the business process. However, killing processes may lead to undesired outcomes, such as losing unsaved changes to files. Despite the name of this workflow, it is not mandatory to always kill all the processes used. Other steps might be more appropriate to return the system to a clean state, depending on the requirements of the business process.
- TakeScreenshots.xaml—Takes a screenshot of the entire screen and saves it as .PNG in a folder specified by the in_Folder argument . You can invoke this phase wherever needed in the workflow.
To configure the template for your specific use case, follow these steps:
- In the Data folder, open the Assets.json file, and add the Orchestrator assets you need to access.
Note: Use the Assets.json file for any type of assets, except credentials. To use credential assets defined in Orchestrator, add them as a Constant instead.
- In the Data Manager, under Constants, add the credential assets you want to use. To access them add a Get Credential activity.
Tip: If the credential asset is stored in a different Orchestrator folder than the one where the process is running, create another Constant to store the folder name.
- Change the TestTimeOut constant to modify the allowed execution time of a test case.
The default dependencies of this project template are UiPath.System.Activities, UiPath.UIAutomation.Activities, and UiPath.Testing.Activities.