UiPath · Free Practice Questions · Last reviewed May 2026
60real exam-style questions organised by domain, each with the correct answer highlighted and a plain-English explanation of why it's right — and why the others are wrong.
An automation developer is building an attended process that runs frequently on user machines. The user needs to trigger the process using a keyboard shortcut while working inside a CRM application. Which approach best fulfills this requirement without disrupting the user?
Configure a global Windows hotkey in Task Scheduler to launch the UiPath Robot CLI every time the key combination is pressed.
Instruct the user to open UiPath Assistant manually and click the Run button whenever the CRM requires data entry.
Assign a shortcut key directly to the process configuration inside UiPath Assistant so the user can invoke it instantly.
UiPath Assistant supports direct shortcut assignments for published processes, allowing users to trigger automations instantly via keystrokes. This native feature keeps the operator focused on their primary application without requiring them to switch windows to the Assistant dashboard.
Develop a background Windows service that listens for specific keystrokes and invokes the UiPath Robot via the Orchestrator API.
An Attended Robot is interacting with a legacy desktop application. The developer needs to ensure that human input takes precedence over automation actions. Which feature should be configured to pause the workflow until the user provides specific validation?
Invoke Workflow File with isolated scope
Parallel activity with a Timeout property
Input Dialog activity
The Input Dialog activity explicitly pauses the workflow execution and prompts the user for specific data or confirmation. It is the standard approach for attended automations that require synchronization, ensuring the robot waits for the human to complete their input before continuing to the next step.
Retry Scope with a fixed interval
When designing an Attended Automation for a customer service team, you must ensure that user credentials and sensitive PII are handled securely during interaction. Which TWO practices are recommended for maintaining security in attended contexts?
Use the Get Password activity to retrieve sensitive data from local variables
Use the SecureString type for all variables holding PII
SecureString ensures that sensitive information is encrypted in memory, protecting it from being easily read by unauthorized processes or memory dumps. This is a vital security layer in attended automations where the robot frequently processes user-specific data that must remain confidential during the workflow execution.
Store user passwords in a plain text configuration file for quick access
Mask sensitive input fields within custom forms
Masking input fields, such as password boxes, prevents the sensitive data from being visible on the screen during the interaction. This is crucial in attended automation to prevent shoulder surfing or screen recording software from capturing sensitive information while the user enters data during the robot interaction.
Disable the Robot log output globally to prevent data leakage
Refer to the exhibit. An attended robot stops execution precisely after 30 seconds while waiting for user input in a customized form. What is the most likely cause based on the provided configuration?
The robot is in an offline state and cannot communicate with Orchestrator
The UserInteractionTimeout setting is forcing the process to terminate
The explicit 'UserInteractionTimeout' configuration of 30 seconds directly controls the maximum time the robot waits for human input. When this limit is reached, the activity stops execution to prevent the robot from hanging, confirming this is the root cause of the observed termination behavior in the workflow.
The LogToOrchestrator level is set to Information, causing a data overflow
The AllowRemoteControl property is set to false, preventing user input
Which component is primarily responsible for triggering an attended automation on a user's machine?
UiPath Orchestrator
UiPath Studio
UiPath Assistant
The UiPath Assistant is the dedicated client application for attended automation. It allows users to view, manage, and execute processes directly from their desktop. It provides the necessary controls for users to interact with the robot, handle inputs, and monitor progress during the attended automation's execution lifecycle.
UiPath Robot Service
When building an attended automation that involves multiple applications, which strategy is best to prevent the robot from interfering with the user's manual work?
Set the robot to run in an isolated session
Use SimulateClick and SendWindowMessages for UI interactions
Simulate and SendWindowMessages allow the robot to interact with UI elements without physically moving the mouse or sending hardware keystrokes. This allows the user to continue using their mouse and keyboard simultaneously, which is the gold standard for creating non-intrusive attended automation workflows in a production environment.
Always force the application to the foreground before interacting
Implement a global hotkey to pause the robot immediately
Want more Attended Automation practice?
Practice this domainRefer to the exhibit. A user is granted this specific policy in Orchestrator. When attempting to start a job for a process in Folder 123, the user receives an 'Unauthorized' error. What is the most likely cause?
The user is missing the 'Folders.View' permission.
In Orchestrator, resource discovery is a prerequisite for execution. Even if a user has 'Create' rights on a job, they must be able to view the process hierarchy and the folder structure. Missing 'Folders.View' prevents the UI from resolving the resource, resulting in a permission denied error.
The policy requires a 'Jobs.Edit' permission.
The user must have 'Administrator' access to the folder.
The policy syntax is invalid due to the trailing asterisk.
When implementing a high-availability Orchestrator deployment, what is the primary consideration for handling the 'Orchestrator Database' during a failover event?
The SQL database must be deployed on the same server as Orchestrator.
Use SQL Always On Availability Groups for database replication.
Always On Availability Groups provide the necessary synchronization and automated failover capabilities required for high-availability Orchestrator deployments. This ensures that the state of all queues and jobs is preserved during a database server outage, allowing the Orchestrator application nodes to reconnect seamlessly to the secondary replica without manual intervention.
Disable the Orchestrator load balancer during database maintenance.
Change the connection string on every robot individually.
Which Orchestrator feature is best suited for sharing sensitive credentials between multiple processes without exposing them in plain text or hardcoding them in workflows?
Storing the credentials in a local text file.
Using Orchestrator Assets with the 'Credential' type.
Credential assets in Orchestrator are specifically designed for secure storage and retrieval. They integrate with the Robot's security context, ensuring that sensitive values are never logged or exposed in the user interface. This is the recommended industry-standard approach for managing logins across multiple unattended robot workflows in production.
Embedding the password in a custom configuration JSON.
Passing credentials as arguments at runtime.
Which THREE actions are required to successfully enable and utilize 'Modern Folders' in a fresh Orchestrator installation?
Enable 'Modern Folders' in the Orchestrator Tenant Settings.
The feature must be explicitly enabled at the tenant level before any modern folder functionality can be utilized. This toggle is the gateway for the transition from classic folder structures to the more scalable modern architecture, which supports advanced resource management and granular security controls for large enterprise deployments.
Create a new folder in the 'Folders' tab.
Once the tenant setting is enabled, you must explicitly create the folder structure. Unlike classic folders, modern folders are created as distinct containers for packages, assets, and queues. This is the foundational step in organizing your automation resources in a clean, hierarchical manner that facilitates easier management and auditing.
Assign users or groups to the folder with specific roles.
Access management is decentralized in modern folders. You must assign users or groups to the folder and define their permissions via roles. This ensures that users only have the access necessary for their specific tasks within that folder, supporting the principle of least privilege in a production environment.
Restart all active Robots in the tenant.
Manually create an environment for each folder.
An administrator wants to ensure that a specific process only runs during non-business hours. How should this be configured in Orchestrator?
Create a 'Time Trigger' with the desired schedule.
Time Triggers are the dedicated Orchestrator feature for scheduled execution. They allow for granular control over the start time, days of the week, and frequency. This enables administrators to perfectly align process execution with business requirements, such as running data-heavy reports outside of operational hours to ensure network stability.
Use a 'Delay' activity at the start of the workflow.
Configure the Robot machine's OS Task Scheduler.
Ask the user to manually trigger the job.
When migrating a process from a development environment to a production environment using Orchestrator, what is the best practice for managing environment-specific configurations?
Hardcode the configuration values in the workflow.
Create separate versions of the workflow for each environment.
Use Orchestrator Assets to store environment-specific values.
Assets provide a clean, centralized way to inject environment-specific data into a process. This allows the same package to be deployed across different Orchestrator instances or folders without modifications. It is the core mechanism for supporting environment-agnostic code, which is essential for consistent and reliable CI/CD pipelines in automation.
Store configurations in a plain-text file in the project folder.
Want more Orchestrator Advanced Usage practice?
Practice this domainWhich TWO of the following configurations are best practices for managing credentials in an Orchestrator-connected environment?
Store passwords in a Config.xlsx file with the 'Private' attribute enabled.
Use Orchestrator Assets to store credentials and retrieve them using the Get Asset activity.
Orchestrator Assets are the recommended mechanism for secure, centralized storage. Using Get Asset allows the robot to fetch credentials dynamically at runtime, ensuring that if a password changes, the robot can immediately use the new value without requiring the developer to modify or republish the automation project.
Define passwords as String variables and set them as arguments in the main workflow.
Retrieve credentials as SecureString and pass them to activity properties that support it.
SecureString ensures the password is encrypted in memory. Many UiPath activities, such as 'Type Into' with 'SecureText' enabled, accept this format directly. This design prevents the credential from being output to logs or displayed in plaintext during the execution, adhering to strict data privacy and security compliance standards.
Hardcode credentials in the workflow using a Dictionary object for quick access.
Which state machine transition condition should be used to move to the 'End Process' state if the 'TransactionNumber' exceeds the 'TotalItems' count?
TransactionNumber = TotalItems
TransactionNumber > TotalItems
This expression correctly identifies when the current transaction index has surpassed the total available items. Once this condition evaluates to True, the state machine triggers the transition to the termination state, safely ending the process without errors or incomplete work units, following standard REFramework conventions for workflow completion.
TransactionNumber < TotalItems
TransactionNumber == TotalItems
Which THREE actions are essential when implementing a robust Global Exception Handler in a UiPath automation?
Use the 'Log Message' activity to record the exception source and message.
Logging the exception source and message is critical for debugging. It provides visibility into exactly where the error occurred and what went wrong. Without these logs, it is nearly impossible to diagnose intermittent issues in unattended production bots, making it a mandatory practice for any enterprise-level automation.
Call the 'Kill Process' activity to restart the application immediately.
Use 'Take Screenshot' to capture the state of the UI at the time of failure.
Capturing a screenshot provides a visual record of the UI state, which is often the missing piece in diagnosing selector-related or application-specific errors. This visual evidence significantly reduces the time required for developers to reproduce and fix issues encountered by the robot in a live production environment.
Set the 'errorAction' variable to 'Retry' to attempt the process indefinitely.
Assign the 'errorAction' argument to 'Abort' when a business rule exception occurs.
For business rule exceptions, which are often non-recoverable data errors, 'Abort' is the appropriate action to prevent the robot from wasting time on unfixable issues. This allows the robot to move on to the next task or report the issue clearly, which is crucial for overall process efficiency.
Which property must be configured in the 'Type Into' activity to ensure that the input field is cleared before typing, preventing accidental appending of text?
Activate
EmptyField
The 'EmptyField' property is explicitly designed to clear the UI element before sending the keystrokes. This ensures that the field contains only the intended input, preventing data integrity issues that occur when new information is appended to old values already present in the target application's UI components.
SimulateType
DelayBefore
Refer to the exhibit. An API automation receives this error. Which troubleshooting step should be prioritized?
Check if the API service is currently undergoing maintenance.
Validate the endpoint URL and the parameters being passed in the HTTP request.
The 404 status code confirms that the server is reachable, but the specific resource requested is not found. This points directly to an incorrect URL path or missing/incorrect dynamic parameters. Developers must ensure that the URI is formatted according to the API documentation and that parameters are passed correctly.
Reset the robot's session and clear the temporary files in the local machine.
Increase the timeout property in the HTTP Request activity to allow more time.
Which TWO factors should be considered when choosing between 'Simulate' and 'Hardware Event' input methods?
The need for the bot to run in the background (Unattended).
Background execution is a key advantage of the 'Simulate' method. It allows the robot to perform tasks without needing the application to be in the foreground, which increases concurrency and overall efficiency. If an automation must run in the background, this is the primary consideration for selecting the input method.
The total number of activities in the workflow.
The requirement to trigger application-specific JavaScript events.
Certain web applications rely on JavaScript events triggered by keyboard or mouse actions. 'Simulate' methods are highly effective at triggering these events programmatically. 'Hardware Events' might fail to trigger specific scripts if the application detects they are not 'genuine' user inputs, making this a critical factor for selection.
The version of the UiPath Studio installed on the machine.
The color depth settings of the robot machine's display.
Want more Generic Automation Development practice?
Practice this domainIn the REFramework, which state is responsible for reading the Config.xlsx file and initializing all required applications?
Get Transaction Data
Initialization
The Initialization state handles the loading of the Config.xlsx file into a dictionary and manages the invocation of all required application workflows. It ensures that the environment is ready for operation, setting the foundation for the entire process execution flow and preventing runtime errors in subsequent states.
Process Transaction
End Process
Refer to the exhibit. What must the 'TransactionItem' variable be set to in order for the REFramework to transition to the End Process state?
An empty string
Nothing
The framework is architected to look for Nothing as the completion signal. When Get Transaction Data assigns Nothing to the TransactionItem, the transition condition 'TransactionItem Is Nothing' evaluates to true, triggering the transition to the End Process state and completing the workflow lifecycle correctly.
A new QueueItem object
A boolean False
Where should you store sensitive information, such as passwords or API keys, when working with REFramework?
Directly in the Config.xlsx file
In a hardcoded variable within the Initialization state
In Orchestrator Assets
Orchestrator Assets provide a secure, encrypted storage mechanism for credentials. They allow the framework to retrieve sensitive data at runtime without hardcoding them, ensuring that the process remains secure, compliant, and easy to manage from a centralized administrative perspective within the UiPath platform.
In a local text file
Which THREE actions are performed by the 'SetTransactionStatus' workflow when a system exception occurs?
Updating the transaction status to 'Failed' in Orchestrator.
This is mandatory for reporting. By setting the status to 'Failed' with the exception details, the framework ensures that developers and managers can see exactly why the transaction failed, which is critical for debugging and improving the stability of the automation process over time.
Closing all open applications immediately.
Incrementing the retry counter in the framework.
The framework must track how many times a transaction has been attempted to prevent infinite loops. Incrementing this counter ensures that after the MaxRetryNumber is reached, the framework can correctly abandon the transaction and move on to the next one, maintaining process efficiency.
Logging the exception details.
Logging is essential for troubleshooting. By capturing the exception message and source, the framework provides a valuable audit trail in the logs, enabling developers to quickly diagnose the root cause of application failures without having to manually reproduce the scenario on the robot machine.
Automatically restarting the robot machine.
In the REFramework, where is the most appropriate place to initialize a global variable that needs to be accessed across multiple states?
Inside the Process Transaction state
Inside the Initialization state
The Initialization state is the intended place for setup logic. Variables created here are initialized once, ensuring they are ready for use in all subsequent states. This follows the REFramework design pattern, which prioritizes a single, clean setup phase before entering the main processing loop.
Inside the End Process state
Inside a locally scoped activity within the Main sequence
Refer to the exhibit. How does the REFramework handle these sheets during the Initialization state?
It only reads the 'Settings' sheet.
It reads both 'Settings' and 'Constants' into a single Dictionary.
The framework is designed to merge both sheets into one dictionary. This allows the bot to easily access any configuration value by key, regardless of whether it was originally defined as a setting or a constant, simplifying the data retrieval logic used throughout the process workflow.
It requires a separate Dictionary for each sheet.
It ignores both sheets and expects a JSON file.
Want more REFramework practice?
Practice this domainA developer is building a UiPath automation that processes insurance claims. The process must read each claim from a queue, validate the claim data against a web service, and then update the claim status in a legacy system. The validation step occasionally encounters a temporary network timeout, and the developer wants the transaction to be retried automatically up to three times before being marked as failed. The developer has configured the Orchestrator queue with Max Retry = 3. Which activity or configuration should the developer use to ensure that the retry count is respected and the transaction is retried correctly?
Configure the queue's Max Retry to 3 and use the Postpone Transaction Item activity to delay the transaction by a fixed time before retrying.
Use the Get Transaction Item activity inside a Retry Scope activity with the NumberOfRetries property set to 3.
Use the Add Queue Item activity to re-add the claim to the queue after a failure, and rely on the queue's Max Retry setting to limit retries.
Set the queue's Max Retry to 3 and use the Set Transaction Status activity with the status Failed in the catch block, allowing Orchestrator to automatically retry the transaction.
When a queue item is marked as Failed via Set Transaction Status, Orchestrator checks the queue's Max Retry setting. If the item's retry count is below Max Retry, Orchestrator resets the item to New and increments the retry count, making it available for reprocessing. This leverages the native queue retry mechanism, ensuring the transaction is retried up to three times before being permanently failed.
A developer is building an unattended automation that must run on a dedicated Windows machine and interact with a desktop application. The process will be triggered by Orchestrator on a scheduled basis. The developer needs to ensure that the robot can log in to the machine even when no user is logged in interactively. Which UiPath component should be installed and configured on the machine?
UiPath Assistant
UiPath Studio
UiPath Robot in Unattended mode
Unattended robots can run without human intervention and can be configured to log in to the machine automatically using stored credentials. This allows Orchestrator to start jobs even when no user is logged in. It is the correct choice for scheduled unattended automation that requires desktop interaction.
UiPath Robot in Attended mode
A developer is building a UiPath automation that processes a large Excel file. The process must run unattended on a virtual machine that has 8 GB of RAM. To optimize memory usage, the developer wants to read only the necessary columns instead of the entire sheet. Which activity should be used to read a specified range of cells from an Excel file?
Write Range
Read Range
Read Range reads a specified range from an Excel file and returns a DataTable. It allows specifying the range (e.g., "A1:C10") and sheet name, so the developer can limit the data read to only the required columns, reducing memory footprint. This directly addresses the scenario's need to optimize memory usage by avoiding reading the entire sheet.
Excel Application Scope
Read Cell
A developer is building a UiPath automation that must process invoices. The process uses a REFramework and needs to guarantee that each invoice is processed exactly once, even if the robot crashes mid-transaction. The invoices are stored in an Orchestrator Queue named 'Invoices'. What is the correct approach to retrieve and process queue items?
Use the 'Get Transaction Item' activity with the 'Reference' property set to the invoice number, process the item, and then use the 'Update Queue Item' activity to change its status to 'Successful'.
Use the 'Add Queue Item' activity to add each invoice to the queue, then use 'Get Transaction Item' to process them, and finally delete the queue items after processing.
Use the 'Get Queue Items' activity to fetch all items with Status 'New', loop through them, and update each item's status to 'Successful' after processing.
Use the 'Get Transaction Item' activity to retrieve a single item with Status 'New', process it, then set its status to 'Successful' using 'Set Transaction Status'.
Get Transaction Item retrieves a New item and changes its status to In Progress, preventing other robots from picking it up. After successful processing, Set Transaction Status marks it Successful. If the robot crashes, the item remains In Progress and can be retried based on queue settings, ensuring exactly-once semantics under normal conditions.
A developer is creating a UiPath automation that will run on a machine where multiple robots are installed. The developer needs to ensure that the automation can access a shared network drive and write log files. Which account should be used for the robot to have the necessary permissions?
The built-in SYSTEM account
A domain user account with appropriate permissions
A domain user account can be granted specific permissions to the shared network drive and log file location. This follows the principle of least privilege and ensures the robot can access required resources. It is the recommended approach for robots that need network access.
The local administrator account
The current interactive user account
A developer needs to configure a UiPath Orchestrator Queue to ensure that if a transaction fails due to a business rule violation, it is not retried, but if it fails due to a system exception, it is retried up to 3 times. The queue currently has default settings. Which combination of queue settings and transaction status handling achieves this?
Set the queue's 'Max # of retries' to 3, and in the process, use 'Set Transaction Status' with Status 'Failed' and ErrorType 'Business' for business exceptions, and ErrorType 'Application' for system exceptions.
Max # of retries defines the maximum retry attempts for Application exceptions. Business exceptions are not retried regardless of the retry count. By setting ErrorType to Business for business rule violations, the item is marked Failed without retry. For system exceptions, ErrorType Application triggers retries up to the maximum. This matches the requirement precisely.
Set the queue's 'Max # of retries' to 3, and in the process, use 'Set Transaction Status' with Status 'Failed' for all exceptions, and rely on the queue's retry mechanism to distinguish between business and system exceptions.
Set the queue's 'Max # of retries' to 0, and in the process, use 'Set Transaction Status' with Status 'Failed' and ErrorType 'Business' for business exceptions, and ErrorType 'Application' for system exceptions, and manually re-add failed system exceptions to the queue.
Set the queue's 'Max # of retries' to 3, and in the process, use 'Set Transaction Status' with Status 'Failed' and ErrorType 'Business' for system exceptions, and ErrorType 'Application' for business exceptions.
Want more Resource Management practice?
Practice this domainAn automation developer is using Autopilot for Developers to generate a complex workflow based on a text prompt. The generated sequence includes several Invoke Workflow activities with incorrect argument mappings. What is the most effective approach to refine the output?
Delete the entire project and restart the Autopilot session from scratch.
Accept the generated code and manually fix the argument mappings in the Properties panel.
Refine the prompt by explicitly describing the required argument names and data types for each activity.
Providing granular technical details aligns the model with project standards. By defining specific input/output expectations, the developer reduces the hallucination rate of the model. This iterative refinement is the standard practice for utilizing generative AI in software development, ensuring the resulting workflow adheres to established coding standards and data structures.
Switch to a different AI model provider within the UiPath Studio settings.
Which TWO of the following capabilities are primarily supported by UiPath Autopilot for Developers to accelerate the build phase?
Generating workflow logic from natural language prompts.
This is a core capability of Autopilot. It translates human intent into executable activities within the Studio workspace. This function significantly speeds up the initial development phase, allowing developers to generate skeleton frameworks that can be further customized, thereby optimizing the total development lifecycle for standard business processes.
Automated deployment of workflows to Orchestrator instances.
Writing complex expressions for data manipulation.
Autopilot assists in crafting precise VB.NET or C# expressions for activities like Filter Data Table or Assign. By generating these often-convoluted syntax strings, it reduces debugging time and potential syntax errors, which are common pain points for developers working with large data sets in complex automation projects.
Automatic hardware provisioning for remote robots.
Real-time hardware performance monitoring of the local machine.
Refer to the exhibit. Given the provided JSON configuration policy, what is the expected behavior when a developer invokes Autopilot to generate a workflow involving sensitive customer IDs?
The model will fully process the sensitive data for improved context accuracy.
The request will be rejected, and code generation will be disabled.
Sensitive data is masked before being sent to the AI service.
The configuration confirms the 'Anonymized' setting, which ensures that potentially sensitive information is sanitized before transmission. This allows the developer to leverage Autopilot's capabilities while adhering to data privacy standards. This mechanism is essential for enterprise adoption, where security and compliance are non-negotiable prerequisites for using generative AI.
The system will generate code that includes hardcoded sensitive data for testing.
Where can a developer access the Autopilot interface within the UiPath Studio environment?
In the Orchestrator web portal settings.
Within the Studio interface, typically in the top ribbon or side panel.
The Autopilot panel is a primary feature integrated into the Studio layout. It provides a direct interface for the developer to interact with the LLM. Placing it within the Studio workspace is a deliberate UI choice to ensure that AI assistance is always available during the primary development lifecycle.
Via a command-line interface (CLI) only.
Through the Robot tray application on the taskbar.
Why is it important to review the code generated by Autopilot before executing it in a production environment?
Autopilot only generates pseudocode that requires manual conversion to real activities.
The model cannot create complex workflows, so it must be completely rewritten.
To ensure compliance, error handling, and adherence to business logic requirements.
Human oversight is necessary to validate that the AI-generated code meets non-functional requirements like robust error handling and organizational compliance. AI might generate a functional flow that lacks the necessary try-catch blocks or logging required for enterprise stability, making manual verification a mandatory part of the development lifecycle.
Autopilot is currently in an experimental phase and is not intended for any production usage.
Which THREE factors significantly influence the quality of the workflow generated by Autopilot?
The level of detail and specificity in the natural language prompt.
Specific instructions reduce ambiguity, leading to more accurate activity selection and argument mapping. Ambiguous prompts often force the model to guess the developer's intent, which can lead to incorrect workflow structures. Detailed prompts ensure that the generated output aligns closely with the desired automation outcome and design patterns.
The complexity of the underlying Studio project's existing dependencies.
The model leverages the existing project scope, including variables, arguments, and imported packages, to generate contextually relevant code. A well-structured project with clear dependencies helps the model understand the broader architectural context, which in turn results in more accurate and usable code snippets generated by the Autopilot tool.
The number of concurrent users accessing the Autopilot service.
The developer's ability to provide iterative feedback to refine outputs.
Iterative feedback is crucial because the first generated result may not perfectly match the desired logic. By providing constructive corrections, the developer guides the model toward the correct solution. This cycle of prompt-evaluate-refine is essential for complex automation scenarios where the first iteration may only partially capture the requirements.
The geographic location of the developer's workstation.
Want more Autopilot practice?
Practice this domainAn automation fails intermittently during a Data Table processing loop. You need to inspect the contents of a specific variable at the exact moment of failure without pausing the entire process execution. Which debugging approach is most efficient?
Set a global breakpoint on the loop and manually inspect the variable.
Wrap the loop in a Try-Catch block and use the Debugger's 'Continue' feature.
Insert a Log Message activity with an informative string including the variable value.
Logging allows for non-intrusive data collection during runtime. By tagging messages with specific levels, developers can filter these logs in Orchestrator to monitor variable states over time. This method preserves the execution flow, avoids UI timeouts, and provides a persistent audit trail for identifying intermittent logic bugs.
Switch to 'Slow Step' mode during the execution of the loop.
Which TWO actions should you take to effectively isolate a 'Selector Not Found' error within a complex, dynamic web application?
Use the 'Highlight' feature in the Selector Editor to confirm element identification.
The Highlight feature provides immediate visual feedback by drawing a border around the element identified by the current selector. This is a crucial first step to confirm that the robot is interacting with the intended UI component before investigating deeper into selector attribute complexity or stability.
Reduce the TimeoutMS property on the activity to 0.
Refine the selector using the UI Explorer by removing unstable attributes and using wildcards.
UI Explorer is the standard tool for creating robust selectors. By identifying volatile attributes like dynamic IDs and replacing them with static parent properties or wildcards, you increase the reliability of the selector against UI changes, effectively resolving intermittent 'Selector Not Found' errors in dynamic environments.
Increase the 'DelayAfter' property to 60 seconds.
Disable the 'Simulate Click' property permanently.
Refer to the exhibit. You encounter this error while executing a Linq query on a DataTable. Which debugging strategy is the most effective way to identify the cause?
Increase the 'Retry Scope' count on the activity.
Use the Locals panel to check the 'Rows.Count' property of the DataTable before the assignment.
The Locals panel allows you to inspect the object's properties in real-time. By checking the Rows.Count, you verify if the data exists. If the count is zero, you immediately know the Linq query is targeting an empty set, allowing you to implement a safety check.
Change the execution mode to 'Debug' and run from start.
Wrap the entire sequence in a 'Parallel' activity.
Refer to the exhibit. You are debugging a NullReferenceException in a project that uses a 'ConfigDict'. What is the most likely culprit, and how should you verify it?
The ConfigDict variable is missing a default value; verify by typing 'ConfigDict is Nothing' in the Immediate Panel.
Testing for 'Nothing' is the standard way to confirm if a variable is null. If the Immediate Panel returns 'True', you have confirmed the dictionary was not initialized. This allows you to immediately identify that the constructor was missing during the instantiation of the dictionary object variable.
The dictionary key does not exist; verify by checking the Orchestrator assets.
The variable scope is too small; verify by checking the 'Variables' pane filters.
The dictionary contains objects of the wrong type; verify by using the 'Type Into' activity.
When debugging a process that involves external API calls, which THREE techniques help ensure the request payload and response data are correctly captured?
Log the serialized JSON string of the request body immediately before the HTTP Request activity.
Logging the request string allows you to inspect exactly what the robot sends. If the API returns an error, comparing this log against the API documentation is essential for debugging input formatting, character escaping, or missing mandatory fields that the API provider requires for a successful transaction.
Always set the 'Timeout' property to 1ms to catch connectivity issues early.
Use the 'HTTP Request' activity's output properties to log the response status code.
The status code is the most important diagnostic piece when an API call fails. A 200 signifies success, while 4xx or 5xx codes provide specific clues about why the server rejected the request. Logging this value helps distinguish between authentication issues, bad inputs, or server-side outages.
Use an external tool like Postman to test the request with the exact same credentials.
Testing with an external tool isolates the API service from the UiPath implementation. If the request works in Postman but fails in UiPath, you know the issue is in your workflow configuration (e.g., headers or activity settings). If it fails in both, you know it's a server issue.
Disable all logging in the project to improve API request speed.
You are debugging a Workflow that uses a 'State Machine' and notice it gets stuck in a loop between two states. Which tool provides the best visibility into the transition conditions during runtime?
Use the 'Validate' button in the design ribbon.
Check the 'Output' panel for infinite loop warnings.
Place a breakpoint on the 'Transition' condition and inspect variables in the Locals panel.
This allows you to see exactly what values are driving the transition logic at the moment of evaluation. If the transition logic depends on a variable that isn't updating as expected, this method will reveal that flaw immediately, allowing for a precise fix in the transition logic.
Increase the 'MaxLoop' property of the State Machine.
Want more Advanced Debugging practice?
Practice this domainAn automation developer is building an integration with a third-party REST API that returns a JSON payload containing over 50,000 transaction records per request. The process frequently throws an OutOfMemoryException inside UiPath Studio when attempting to parse the entire response string using standard string manipulation. Which approach should the developer use to handle this large response efficiently?
Increase the available RAM on the Orchestrator robot machine to accommodate larger string allocations during the deserialization phase.
Wrap the HTTP Request activity inside a Parallel For Each activity to divide the response string into concurrent processing threads.
Configure the HTTP Request activity to stream the response directly into a JsonTextReader instance for token-based processing.
Streaming the response avoids loading the entire payload into memory by reading tokens sequentially, dramatically reducing the memory footprint of the automation process. This approach is essential for handling massive enterprise payloads reliably in production environments without resource crashes.
Disable the SSL verification properties on the HTTP Request activity to bypass encryption overhead during the large data transfer.
A developer is configuring OAuth 2.0 authorization code flow within UiPath Orchestrator and API activities to connect securely to a corporate CRM system. The security team mandates that client secrets must never be exposed or stored in plain text configuration files. Which authentication mechanism or credential management pattern should the developer implement?
Store the client secret as an encrypted string value directly inside the project.json file using the native UiPath Studio cipher.
Utilize an Orchestrator Credential Asset or external Secrets Provider to retrieve the client secret dynamically at runtime.
Leveraging an Orchestrator Credential Asset or external Secrets Provider ensures that sensitive authentication data remains centralized, encrypted, and securely managed outside the automation package source code. This practice complies with security standards and simplifies secret rotation routines across environments.
Hardcode the client secret within a global workflow argument designated for input parameters across all child workflows.
Implement HTTP Basic Authentication instead of OAuth 2.0 to eliminate the requirement for handling client secret cryptographic keys.
An automation developer is troubleshooting an API workflow where a POST request to an external service intermittently returns a 429 Too Many Requests status code. Which TWO strategies should the developer implement in UiPath Studio to handle this rate-limiting scenario gracefully? (Choose two)
Implement a Retry Scope activity around the HTTP Request activity with a configured delay and a condition checking for status code 429.
The Retry Scope activity allows the workflow to automatically catch transient errors and rate-limiting responses, repeating the API call after a specified interval until successful completion or retry exhaustion. This built-in recovery mechanism ensures robustness against temporary throttling.
Configure the HTTP Request activity to automatically restart the robot machine whenever a rate limit threshold is breached.
Parse the Retry-After response header returned by the API server and pass its value dynamically into a Delay activity.
Many modern APIs return a Retry-After header indicating precisely how long the client must wait before sending subsequent requests. Extracting this dynamic value and applying it to a delay ensures complete compliance with server throttling rules and minimizes failed transaction attempts.
Convert all POST requests into GET requests to bypass rate-limiting rules enforced specifically on data modification endpoints.
Increase the overall Windows timeout settings in the robot's local registry to force the server to accept throttled requests.
A developer uses the HTTP Request activity in a UiPath Studio project to call a REST API that returns a deeply nested JSON response. The developer needs to extract a specific value located at a path of several levels, and the response structure may vary slightly between calls. The developer wants to avoid deserializing the entire payload into custom classes. Which approach is most appropriate?
Use the Deserialize JSON activity with the TypeArgument set to System.Data.DataTable, then use the Select method to filter rows containing the desired value.
Use the Deserialize JSON activity with the TypeArgument set to System.Collections.Generic.Dictionary(Of String, Object), then access nested levels using repeated TryGetValue calls.
Use the Deserialize JSON activity with the TypeArgument set to Newtonsoft.Json.Linq.JObject, then use the SelectToken method with a JSONPath expression to retrieve the nested value.
Deserializing to JObject allows dynamic traversal without predefined classes, and SelectToken supports JSONPath queries to extract nested values reliably even when the structure varies. This directly addresses the need to avoid custom classes while handling a deep, potentially inconsistent JSON hierarchy.
Use the HTTP Request activity with the Response Content property set to a string, then apply regular expressions to parse the raw JSON text for the desired value.
A developer is using the UiPath HTTP Request activity to call a REST API that returns a JSON array of customer records. The API paginates results and includes a 'nextPageToken' field in the response body when more data is available. The developer needs to retrieve all pages and aggregate the results into a single DataTable. Which approach should the developer use in the UiPath workflow?
Use a Do While loop that repeats while the 'nextPageToken' is not empty, passing the token as a query parameter in each subsequent HTTP Request, and append each response's data to a list or DataTable.
This correctly implements token-based pagination. The loop continues until no token remains, and each page is processed and aggregated. UiPath's HTTP Request activity supports dynamic query parameters, and appending results to a collection handles the aggregation. This is the standard pattern for APIs that return a continuation token.
Configure the HTTP Request activity to use the 'Accept' header with value 'application/json' and enable the 'Parse JSON' option, which automatically follows pagination links.
Use a For Each loop that iterates over the JSON array from the first response and makes a separate HTTP Request for each record's ID.
Set the HTTP Request activity's 'Retry' property to a high number (e.g., 10) so it automatically retries and retrieves all pages in one call.
An automation developer is using the HTTP Request activity in UiPath Studio to call a REST API that requires a bearer token. The token is stored in Orchestrator as an asset named "APIToken". The developer needs to include the token in the request header. Which approach should be used?
Append the token as a query parameter, such as "?token=<token>", to the request URL.
Use the OAuth2 activity with the token as the AccessToken property and configure the HTTP Request to use that connection.
Add a header named "Authorization" with the value "Bearer " + token, where token is retrieved using the Get Asset activity.
This is correct because the HTTP Request activity allows custom headers. The Get Asset activity retrieves the token from Orchestrator, and the header must be formatted as "Bearer <token>". This is the standard way to pass a bearer token in a header for REST APIs.
Set the AuthenticationType property of the HTTP Request activity to "Bearer" and provide the token in the Password field.
Want more API Automation practice?
Practice this domainYou are automating a legacy desktop application where the UI elements do not support standard selectors. Which approach provides the most robust automation while maintaining high execution speed?
Use full-screen OCR for every single element interaction.
Automate the entire process using only mouse click coordinates.
Use the Image automation activity with a stable anchor for the target.
Image anchoring provides a relative reference point, ensuring that even if the target area shifts, the robot identifies it based on the static anchor. This method is highly effective for legacy applications where selectors are inaccessible, offering a balanced trade-off between execution speed and reliable UI element identification.
Force the application to run in a web-browser emulation mode.
Which activity is best suited for typing secure passwords into a field that does not support standard text input methods?
Type Into activity using a standard String variable.
Type Secure Text activity with a SecureString variable.
The Type Secure Text activity is built specifically to interact with SecureString objects, ensuring that password data remains encrypted during the input process. This activity is the industry-standard method for handling credentials, protecting them from exposure in system memory or debugging tools during the robot's execution.
Set Text activity configured with a hidden variable.
Simulate Click followed by Send Hotkey.
When automating a web application, you notice the selectors are extremely unstable due to dynamically generated IDs. What is the most effective way to improve selector reliability?
Use the Repair button in the Selector Editor every time it fails.
Use UI Explorer to find static attributes or tag hierarchies.
UI Explorer allows developers to inspect the entire element tree to find static attributes that persist across sessions. By filtering out dynamic properties like IDs and focusing on stable markers, you create a selector that is resistant to changes, significantly improving the robustness and longevity of the automation process.
Switch all automation to use relative Image-based selectors.
Hardcode the element path using absolute Index attributes.
Which THREE of the following practices are recommended for optimizing UI automation performance in large-scale enterprise environments?
Use 'Simulate Click' or 'SendWindowMessages' when possible.
These methods interact directly with the application's underlying API or message queue, bypassing the need for physical mouse and keyboard drivers. This significantly increases execution speed and allows the automation to run in the background, which is essential for scaling processes in a virtualized or unattended production environment.
Always set DelayAfter property to 5 seconds to ensure stability.
Use targeted selectors rather than full-screen searches.
Targeted selectors narrow the search scope within the DOM, allowing the robot to find elements faster and more reliably. By avoiding broad searches, you reduce CPU usage and minimize the risk of selecting incorrect elements, which is a fundamental requirement for building high-performance, maintainable enterprise-grade automation workflows.
Keep the selector tree as deep as possible for uniqueness.
Minimize the number of background process activities.
Reducing redundant activities, especially those that trigger screen refreshes or full page reloads, keeps the memory footprint low. In large-scale deployments, minimizing overhead is key to ensuring that robots remain performant and can manage multiple concurrent tasks without hitting memory limits or experiencing slow-down during heavy execution.
When using the 'Check App State' activity, which state configuration is most appropriate to ensure the application has successfully logged out before proceeding?
Set state to 'Target Appears' for the user profile icon.
Set state to 'Target Disappears' for the dashboard menu.
Configuring the activity to verify that the dashboard menu has disappeared is the correct way to confirm a successful logout. This pattern effectively monitors the UI transition, ensuring the robot only proceeds once the application state has officially shifted from authenticated to the anonymous login screen.
Use a fixed delay of 10 seconds to wait for the session.
Set state to 'Target Appears' for the main application window.
Which TWO of the following scenarios are best addressed by using the 'Anchor Base' activity?
The target element has a unique, static ID.
The target element's selector is dynamic and changes on every refresh.
When an element's properties are volatile, anchoring it to a neighboring element with a static label is a standard and robust strategy. This allows the robot to find the target by its relative position rather than its internal attributes, which is perfect for handling dynamic UI layouts.
The target element is inside an iframe that periodically changes.
The target element has no stable selector but is adjacent to a static label.
When no unique selector exists, the best approach is to define a static anchor nearby. By identifying the static text, the robot can accurately locate the input field relative to that anchor, providing a reliable way to interact with elements in applications that lack proper accessibility attributes.
The target element is an image that never changes.
Want more Advanced UI Automation practice?
Practice this domainYou are processing a large DataTable named 'dt_Inventory' and need to filter it to include only rows where the 'Status' column is 'Active' and 'Stock' is greater than 50. Which method is most efficient for a performance-optimized workflow?
Use a For Each Row activity and an If condition to add items to a new DataTable.
Use the Filter Data Table activity with the 'Remove' mode to delete unwanted rows.
Apply the .AsEnumerable().Where(Function(r) r("Status").ToString = "Active" AndAlso CInt(r("Stock")) > 50).CopyToDataTable() method.
This LINQ expression efficiently filters the DataTable in-memory without row-by-row iteration. Using .AsEnumerable() converts the table to a queryable format, while .Where() applies the logic concurrently. This method is the industry standard for performance-critical data manipulation in UiPath, providing a clean, concise, and highly performant way to handle large datasets.
Use a Select method with a SQL query syntax string directly on the DataTable object.
You have a JSON string containing nested objects and arrays. Which TWO approaches are best for parsing this data into a usable format within UiPath?
Use the 'Deserialize JSON' activity and cast the output to a JObject.
The 'Deserialize JSON' activity is the native UiPath tool for converting JSON strings into structured objects. Casting to JObject allows for intuitive, dot-notation access to nested properties. This is the most reliable way to interact with complex payloads, ensuring that data types are maintained throughout the process workflow.
Use a 'For Each' loop with String.Split to manually parse the JSON structure.
Use the 'Deserialize JSON Array' activity if the root element is a collection.
When an API returns a collection of items at the root level, the standard 'Deserialize JSON' activity may fail or require casting. 'Deserialize JSON Array' is specifically designed to handle this structure, outputting a JArray that can be iterated using a For Each activity to process individual JSON objects effectively.
Use the 'Regex Match' activity to extract every field via named capture groups.
Convert the JSON to a DataTable using an Invoke Code activity.
Which of the following is the most appropriate way to handle null values when performing a calculation on a DataRow column?
Use row("Column").ToString = "" to check for nulls.
Use If row("Column") Is Nothing to check for nulls.
Use row.IsNull("Column") to check for null values.
The .IsNull() method is specifically built into the DataRow class to identify DBNull values correctly. It is the most robust and readable way to handle missing data in DataTables. Relying on this built-in method prevents runtime errors and makes your logic clear to other developers maintaining the automation project.
Use a Try-Catch block to handle exceptions when calculating.
Which of the following is the most efficient way to merge two DataTables that have the same schema?
Use a For Each Row loop to copy values one by one.
Use the 'Merge Data Table' activity.
The 'Merge Data Table' activity is the native UiPath wrapper for the DataTable.Merge method. It is the most efficient and readable way to combine two tables with the same structure. This activity is designed for high performance, ensuring that data is combined correctly while respecting primary keys and schema definitions.
Use a LINQ query to join the tables and create a new one.
Write both tables to a CSV and use an 'Append' command.
Which THREE of the following are valid ways to handle dynamic JSON keys when using the 'Deserialize JSON' activity?
Access properties using indexers: jObject("DynamicKey").ToString().
The JObject indexer allows for string-based access to properties. This is the most straightforward way to handle keys that are determined at runtime. By passing the dynamic key as a variable string to the indexer, you can retrieve values without needing the property to be defined statically in the code.
Use the 'SelectToken' method with a JSONPath string.
The SelectToken method is a powerful feature that accepts JSONPath queries. This allows you to perform complex lookups and identify keys dynamically, even if they are deeply nested. It is highly flexible and the preferred method for advanced JSON manipulation when standard indexer access is insufficient or too complex.
Cast the JSON object to a fixed class type.
Iterate through jObject.Properties() to find the specific key.
Iterating through the Properties collection allows you to inspect every key-value pair in the object. This is essential when you need to search for a key based on criteria, such as name patterns or values. This approach is highly flexible and useful for analyzing unpredictable JSON payloads.
Use the 'Invoke Code' activity to call a Java-based parser.
You are performing a string manipulation to extract a sub-string. Which method is most performant when the string length is consistently large?
Use the Regex.Match activity.
Use a series of Split and array index operations.
Use the Substring method with calculated start and length indices.
Substring is an O(1) operation (relative to the string size) that provides the most direct way to get a portion of a string. By using IndexOf to find boundaries and Substring for the extraction, you keep the memory and CPU usage minimal, which is essential for professional-grade, high-performance automation.
Use the 'Replace' method to remove unwanted parts.
Want more Advanced Data Manipulation practice?
Practice this domainThe UiPath-ADPv1 exam has 60–90 questions and must be completed in 120 minutes. The passing score is 700/1000.
Scenario-based questions covering exam objectives with detailed answer explanations.
The exam covers 10 domains: Attended Automation, Orchestrator Advanced Usage, Generic Automation Development, REFramework, Resource Management, Autopilot, Advanced Debugging, API Automation, Advanced UI Automation, Advanced Data Manipulation. Questions are weighted by domain — higher-weight domains appear more on your actual exam.
No. These are original exam-style practice questions written against the official UiPath UiPath-ADPv1 exam objectives. They are not copied from the real exam. Courseiva focuses on genuine understanding, not memorisation of braindumps.
Courseiva tracks your accuracy per domain and routes you toward weak areas automatically. Free, no account required.