Practise UiPath Automation Developer Associate practice questions — original exam-style scenarios covering every exam domain, with detailed explanations, wrong-answer analysis, and common exam traps.
These are the questions most candidates get wrong. They require connecting multiple concepts, reading tricky output, or knowing edge-case behaviour that isn't on most study cards. Practising them trains you to operate under uncertainty — a necessary skill on the real exam.
Quick answer
Hard Difficulty Questions questions test whether you can apply the concept in context, not just recognise a definition.
How the topic appears in realistic exam-style scenarios.
Which detail in the question changes the correct answer.
How to eliminate plausible but wrong options.
How to connect the question back to the wider exam objective.
Related practice questions
Related UiPath-ADAv1 topic practice pages
Scenario questions usually connect to one or more exam topics. Use these links to review the underlying concepts behind the scenario.
A developer is using the HTTP Request activity to call an API that returns a large JSON response. The developer needs to extract a specific value from the response and use it in subsequent steps. The response is stored in a variable of type String. After deserializing the JSON into a JObject, which activity and configuration should the developer use to reliably extract the value using a JSONPath expression?
A
Use the Select Token activity, set the Input property to the original JSON string, and set the JsonPath property to the desired expression.
Why it fails: The Select Token activity expects a JObject as input, not a string. If the original JSON string is provided, the activity will throw an error because it cannot parse a string directly. The developer must first deserialize the JSON string into a JObject using the Deserialize JSON activity, then pass that JObject to Select Token.
B
Use the Deserialize JSON activity again with the JObject as input and specify the JSONPath in the JsonPath property.
Why it fails: The Deserialize JSON activity converts a JSON string into a JObject; it does not accept a JObject as input or support JSONPath queries. Using it again would cause a type mismatch error. The correct activity for querying a JObject with JSONPath is Select Token. Deserialize JSON is only for the initial conversion from string to JObject.
C
Use the Assign activity to call the JObject.SelectToken method directly, passing the JSONPath expression as a string argument.
Why it fails: While the JObject.SelectToken method exists in .NET, using it directly in an Assign activity requires the JObject to be of type Newtonsoft.Json.Linq.JObject, which is possible but less straightforward than using the dedicated Select Token activity. The Select Token activity provides a more user-friendly interface and integrates with UiPath's variable system, making it the preferred approach in most scenarios.
D
Use the Select Token activity, set the Input property to the JObject, and set the JsonPath property to the desired expression.
The Select Token activity is specifically designed to query a JObject using a JSONPath expression. Setting the Input property to the deserialized JObject and providing the JSONPath in the JsonPath property returns the matching token. This is the most reliable and efficient method for extracting values from JSON in UiPath, as it leverages Newtonsoft.Json's JSONPath support.
A finance team uses an Attended Robot on each analyst's desktop. Analysts frequently lock their workstations or log off at day's end while long-running document reviews are still in progress. The automation must continue processing even when the analyst is not actively using the machine. Which deployment change best satisfies this requirement?
A
Convert the automation to an Unattended Robot and trigger it from Orchestrator so it runs without an interactive desktop session.
Unattended Robots execute under a dedicated robot account and do not depend on an interactive user session, so locking or logging off the analyst does not interrupt the job. Orchestrator triggers and monitors the run, which matches the need for continuous processing.
B
Deploy the process to a High-Density Robot on the analyst's workstation and schedule it during business hours.
Why it fails: High-Density Robots allow multiple robot users on one machine but remain session-bound; they do not survive a workstation lock or logoff. Scheduling during business hours also conflicts with the goal of running while the analyst is away.
C
Increase the Attended Robot's timeout setting in Orchestrator so the session stays active after workstation lock.
Why it fails: There is no Orchestrator setting that prevents a locked or signed-out Windows session from ending an Attended execution. Session lifecycle is governed by the operating system, not by robot timeout values, so this approach cannot deliver uninterrupted processing.
D
Keep the Attended Robot but configure the UiPath Assistant to start automatically at user logon.
Why it fails: Assistant autostart only ensures the tray application is present after logon; it does not keep a job alive when the user locks or signs out. Attended executions are tied to the interactive session, so this change does not meet the continuous-processing requirement.
Refer to the exhibit. You are reading this JSON file to configure a file mover. Which activity sequence correctly parses this JSON and moves the files?
Use 'Read Text File', then 'Deserialize JSON', then 'Move File'.
This sequence correctly retrieves the raw content, transforms it into a structured object, and then utilizes the extracted keys for the file movement logic. It is the most reliable way to handle external configuration files, ensuring that values like 'SourcePath' are correctly retrieved and utilized during the execution of the file movement process.
B
Use 'Read CSV' and map the columns directly to the 'Move File' input arguments.
Why it fails: The provided exhibit is in JSON format, not CSV. Attempting to use the 'Read CSV' activity will result in a parsing error or incorrectly mapped data. JSON structures have different hierarchy and syntax requirements compared to flat CSV files, necessitating the use of specialized JSON parsing activities to extract configuration values accurately for the workflow.
C
Use 'Read Text File' and regex extract the paths, then move the file.
Why it fails: Regex extraction is fragile and prone to failure if the JSON structure changes slightly. While possible, it is not the recommended approach when a dedicated 'Deserialize JSON' activity is available. Using structured parsing is safer and more maintainable, as it respects the JSON schema rather than relying on potentially unpredictable pattern-matching techniques.
D
Use 'Get Environment Variable' to read the JSON file contents.
Why it fails: Environment variables are designed for system-level settings, not for reading content from arbitrary JSON files. 'Get Environment Variable' will not retrieve the file content required to configure the automation. This approach is fundamentally incompatible with the requirement of reading data from a local JSON configuration file, leading to null or incorrect input data.
Refer to the exhibit. A developer encounters this error while trying to run a process. What is the most efficient way to resolve this dependency conflict?
Exhibit
Error: The process 'Finance_Automation' depends on 'Custom_Utils' version '[1.0.2]'. The available version in the feed is '1.0.3'.
A
Publish a new version of the 'Finance_Automation' process with the updated dependency constraint.
Updating the project dependency constraint in the 'Manage Packages' menu and republishing the process is the standard way to resolve version mismatches. By changing the constraint to include the newer version, the developer ensures compatibility with the latest library updates while maintaining control over the package's dependencies.
B
Manually delete the 'Custom_Utils' folder from the local NuGet cache directory.
Why it fails: Deleting files from the local NuGet cache does not address the dependency mismatch defined in the project.json file. The project will still demand version 1.0.2 and will fail when it cannot find it, or it will continue to conflict with the existing 1.0.3 version available.
C
Downgrade the library version 1.0.3 to 1.0.2 on the Orchestrator feed.
Why it fails: Downgrading a library can break other processes that already rely on version 1.0.3. NuGet feeds are designed to be additive; you should move forward by updating the process to use the newer library rather than rolling back libraries, which compromises the integrity of other dependent automations.
D
Rename the 'Custom_Utils' package file to 'Custom_Utils.1.0.2.nupkg' in the feed.
Why it fails: Renaming files in a NuGet feed manually violates the integrity of the NuGet package structure. The metadata inside the .nupkg file would not match the filename, leading to corrupted feeds and further runtime errors when Studio attempts to validate the package manifest during the installation process.
A developer is automating a web application using the Object Repository. The application has a dropdown menu that appears only after hovering over a specific icon. The developer captures the dropdown menu items in the Object Repository. During testing, the automation fails to interact with the dropdown items because they are not visible until the hover action is performed. What is the most likely cause and the best solution?
A
The selector for the dropdown items is incorrect; the developer should re-capture the elements using the 'Indicate on screen' feature.
Why it fails: The selector is likely correct because the elements were captured successfully. The issue is not selector accuracy but the dynamic visibility of the elements. Re-capturing would yield the same selector and not solve the problem. The failure occurs because the hover action is not performed before the interaction, so the elements are not present in the UI tree at runtime.
B
The dropdown items are not included in the Object Repository; the developer should add them manually.
Why it fails: The scenario states that the developer captured the dropdown menu items, so they are in the repository. The problem is not their absence but their runtime availability. The automation must trigger the hover action to make the elements visible and interactable. Adding them again would not address the root cause, which is the need for a preceding hover action.
C
The automation must perform a hover action before interacting with the dropdown items; the developer should add a 'Hover' activity on the icon before the click on the dropdown item.
The dropdown menu items only appear after hovering over the icon. Therefore, the automation must simulate the hover to make the elements visible. Adding a 'Hover' activity on the icon before the interaction ensures the dropdown is rendered. This is a common pattern in web automation where elements are dynamically loaded or shown based on user actions.
D
The dropdown items require a 'Click' activity with the 'Simulate Click' property enabled to interact with hidden elements.
Why it fails: The 'Simulate Click' property can sometimes interact with elements that are not visible, but it is not reliable for elements that are not present in the UI tree at all. In this case, the dropdown items are not rendered until hover, so they are absent from the UI tree. Simulate Click would not work because the element cannot be found. The correct approach is to trigger the hover first.
A UiPath developer is automating a process that interacts with a REST API requiring OAuth 2.0 authentication. The developer needs to obtain an access token using the client credentials grant type, then use that token in subsequent API calls. The HTTP Request activity is used for both token retrieval and API calls. Which configuration correctly handles the token retrieval and usage?
A
Set the HTTP Request activity's Method to POST, Endpoint to the token URL, and use the 'Parameters' property to add 'grant_type', 'client_id', and 'client_secret'. Then, in subsequent requests, add a custom header 'Token: ' + access_token.
Why it fails: While POST is correct, using the Parameters property might send them as query parameters depending on configuration, which is insecure. The token should be sent as 'Authorization: Bearer ' + access_token, not a custom 'Token' header. This configuration would likely fail authentication with standard OAuth 2.0 implementations.
B
Set the HTTP Request activity's Method to POST, Endpoint to the token URL, and use the 'Body' property with form-urlencoded format containing 'grant_type', 'client_id', and 'client_secret'. Then, in subsequent requests, add an Authorization header with value 'Basic ' + access_token.
Why it fails: The token retrieval part is correct if form-urlencoded is required, but using 'Basic' with the access token is wrong. Basic authentication is for username/password, not Bearer tokens. The correct scheme is 'Bearer'. This would cause authentication failures in subsequent API calls.
C
Set the HTTP Request activity's Method to POST, Endpoint to the token URL, Body to a JSON object containing 'grant_type', 'client_id', and 'client_secret', and BodyFormat to application/json. Then, in subsequent requests, add an Authorization header with value 'Bearer ' + access_token.
For client credentials grant, the token endpoint expects a POST request with parameters like grant_type, client_id, and client_secret. Sending them as JSON with BodyFormat application/json is acceptable for many APIs, though some require form-urlencoded. The access token is then used as a Bearer token in the Authorization header. This configuration correctly follows OAuth 2.0 standards.
D
Set the HTTP Request activity's Method to GET, Endpoint to the token URL, and add query parameters for 'grant_type', 'client_id', and 'client_secret'. Then, use the token as a query parameter in subsequent requests.
Why it fails: OAuth 2.0 token endpoints typically require POST, not GET, for security and to prevent caching. Passing credentials in query parameters is insecure as they can be logged. Using the token as a query parameter is also discouraged; it should be in the Authorization header. This approach violates best practices and may not work with many APIs.
When designing a robust API automation workflow in UiPath, which TWO of the following practices are considered essential for maintaining production-grade reliability?
A
Use a Try-Catch block around the HTTP Request activity.
Wrapping network-dependent activities in Try-Catch structures is a best practice. It enables the developer to capture specific system exceptions like connection timeouts or DNS errors, allowing the robot to implement retry logic or log meaningful messages instead of abruptly crashing the entire workflow during unpredictable external service interruptions.
B
Always hardcode the API secret directly in the HTTP Request activity.
Why it fails: Hardcoding secrets in activity properties is a major security violation. It exposes credentials in plain text within the XAML files, which are often stored in source control systems. This practice risks unauthorized access to the production environment and violates standard information security policies required for enterprise automation deployments.
C
Validate the HTTP status code in the response property after execution.
Checking the status code returned by the API is critical. Many APIs return a 200 OK status even if the business logic failed or the payload was malformed. By validating these codes, the developer ensures the process proceeds only when the data is valid and the operation succeeded.
D
Store all API payloads in global variables only.
Why it fails: Using global variables for payloads creates naming collisions and memory management issues in complex workflows. It is better to use localized arguments and variables to ensure data isolation. This practice prevents accidental modification of data by unrelated processes running within the same workflow or sub-processes invoked during execution.
E
Disable SSL verification for all requests to ensure speed.
Why it fails: Disabling SSL verification creates a massive security vulnerability, allowing man-in-the-middle attacks. While it may solve connectivity issues temporarily, it removes the encryption layer that protects sensitive data transmission. Production environments must always maintain valid SSL/TLS handshakes to ensure the integrity and privacy of the communicated information.
Refer to the exhibit. Based on the Workflow Analyzer summary provided, what is the status of the project publication process?
Exhibit
ST-NMG-001: Violations found in 3 files.
ST-SEC-002: Violations found in 1 file.
ST-NMG-001 is set to Enforce: True.
A
The project will publish, but only after showing a warning.
Why it fails: If 'Enforce' is true, the analyzer treats the violation as a hard error. It does not provide an option to bypass the block with a simple warning. Therefore, the project cannot be published while the violation exists. The 'Enforce' flag is specifically designed to prevent this behavior entirely.
B
The project publication is blocked due to the enforced rule violation.
Because rule ST-NMG-001 is set to 'Enforce: True' and has active violations, the Studio environment will prevent the project from being published. The system is designed to stop any package creation until all enforced rules are satisfied, ensuring that only compliant code reaches the production Orchestrator environment.
C
The publication succeeds because ST-SEC-002 is not enforced.
Why it fails: While ST-SEC-002 might not be enforced, the project is still blocked by the enforced rule ST-NMG-001. A single enforced violation is enough to halt the entire publication process. It does not matter if other rules are not enforced; the presence of one blocker is all that is required.
D
The project publishes only the files without violations.
Why it fails: UiPath projects are published as a single package (NuGet file). You cannot selectively publish files or exclude parts of the project during the publication process. If the project contains a violation of an enforced rule, the entire project fails to publish, regardless of which files contain the violations.
Which TWO statements are true regarding the behavior of the Workflow Analyzer when 'Enforce' is enabled for a rule?
A
The project can be published to Orchestrator even if violations exist.
Why it fails: Enabling the 'Enforce' option explicitly prevents the project from being published if any violations are detected. This is a design-time control mechanism intended to stop non-compliant code from entering the deployment pipeline. Therefore, allowing publication would defeat the primary purpose of the 'Enforce' flag during the build process.
B
The project cannot be published to Orchestrator if a violation of that rule exists.
When 'Enforce' is checked for a rule, the Workflow Analyzer treats any identified violation as a blocker for the publishing process. This ensures that developers address all critical issues before the automation package is sent to Orchestrator, maintaining a high standard of quality and adherence to enterprise coding policies.
C
The rule check is performed during runtime execution.
Why it fails: Workflow Analyzer rules are design-time checks performed within Studio, not runtime execution checks. Once a project is published and running on a Robot, these rules have already completed their task. Runtime checks for errors are managed by standard exception handling and logging mechanisms rather than static code analysis tools.
D
Violations are reported as Errors in the Error List panel.
When a rule is set to 'Enforce', violations are escalated to 'Error' level within the Studio Error List panel. This visual indicator informs the developer that the project is currently in a state that prevents publishing, effectively forcing immediate remediation before the project can be moved forward into the deployment phase.
E
The analyzer will automatically correct the code that triggered the violation.
Why it fails: Workflow Analyzer identifies violations but does not have the capability to auto-correct code. The developer is responsible for manually adjusting the workflow, variable naming, or configuration to align with the active policy. This manual process ensures that the developer understands the changes being made to comply with project standards.
A developer is designing a test case using UiPath Test Suite. They need to ensure that the test is properly structured and can be executed both locally and in Orchestrator. Which two activities or features are essential for verifying the test outcome and enabling data-driven execution? (Choose two.)
A
Log Message activity
Why it fails: Log Message is used for logging information but does not verify test outcomes. It cannot cause a test to pass or fail. While logging can be helpful for debugging, it is not essential for verifying the test outcome or enabling data-driven execution. The scenario requires activities that assert results and support multiple data sets, which Log Message does not provide.
B
Try Catch activity
Why it fails: Try Catch is used for exception handling, not for verifying test outcomes or enabling data-driven execution. While it can be useful in test cases to handle unexpected errors, it is not essential for the fundamental requirements of asserting results and running with multiple data sets. The test case can be properly structured without Try Catch, and it does not contribute to data-driven testing.
C
Data Variation feature
Data Variation allows a test case to be executed multiple times with different input and expected output values. This is essential for data-driven testing, as it enables comprehensive coverage without duplicating test cases. It is a key feature of UiPath Test Suite that supports running the same test logic with multiple data sets, both locally and in Orchestrator.
D
Assert Equals activity
Assert Equals is essential for verifying the test outcome. It compares an expected value with an actual value and fails the test if they differ. This provides a clear pass/fail result and is a fundamental assertion activity in UiPath Test Suite. Without assertions, a test case cannot automatically determine success or failure, making it critical for any test case that needs to validate behavior.
E
Delay activity
Why it fails: The Delay activity pauses the workflow for a specified amount of time. It is not related to verifying test outcomes or data-driven execution. While delays might be used in some tests to wait for elements, they are not essential for the core requirements of assertion and data variation. Including a Delay would not help the test case verify results or run with multiple data sets.
Refer to the exhibit. You are trying to use the variable 'InvoiceNumber' in the 'Write_To_Excel' sequence, but it was defined in the 'Process_Invoices' sequence. Why is the error occurring?
Exhibit
Error: Variable 'InvoiceNumber' is not defined in the current scope.
Sequence 'Process_Invoices' (Scope: Root)
Sequence 'Extract_Data' (Scope: Process_Invoices)
Sequence 'Write_To_Excel' (Scope: Extract_Data)
A
Variables defined in parent sequences are automatically deleted after the first child sequence completes.
Why it fails: Variable lifecycles persist as long as the parent sequence is executing. They are not automatically deleted upon the completion of child sequences. The issue is strictly related to the visibility/scope definition and whether the variable was correctly initialized within the hierarchy to be visible to the specific target activity.
B
The variable 'InvoiceNumber' must be passed explicitly as an argument to every child sequence.
Why it fails: While passing data via arguments is a best practice for modularization and reusability, it is not strictly required for a variable to be accessible in a nested sequence. A variable defined in a parent scope is naturally accessible to all child activities, provided the scope was correctly set during creation.
C
The scope of 'InvoiceNumber' is likely restricted to 'Extract_Data' and cannot be accessed from 'Write_To_Excel'.
If the variable was defined within the 'Extract_Data' sequence, it is limited to the scope of that sequence and its own children. If 'Write_To_Excel' was moved or configured incorrectly, it might have lost access to the scope where 'InvoiceNumber' exists, causing the compiler to throw this undefined variable error.
D
The variable name is case-sensitive and does not match the declaration.
Why it fails: Variable names in UiPath are indeed case-sensitive; however, the error message indicates that the variable is 'not defined in the current scope,' which specifically points to a hierarchy or access issue rather than a simple naming convention mismatch, which would typically report a typo or identifier error instead.
A developer is building a UiPath automation that interacts with a web application. The application's UI elements have dynamic IDs that change on each page load. The developer decides to use the Object Repository to manage UI descriptors. Which TWO actions should the developer take to ensure the automation remains stable despite the dynamic IDs? (Choose two.)
A
Store the dynamic ID as a variable and update it at runtime.
Why it fails: While runtime variables can be used in selectors, this approach requires capturing the dynamic ID each time, which is impractical and error-prone for every page load. It also adds complexity and may not be feasible if the ID is not easily retrievable. The Object Repository is meant to abstract selectors, not to manage runtime variables for each element.
B
Use the 'Image' and 'Text' recognition modes exclusively.
Why it fails: Image and Text recognition modes can be used as fallbacks, but relying exclusively on them is less reliable than using proper selectors. They are slower and may fail with resolution or theme changes. For dynamic IDs, the best practice is to refine selectors with wildcards and anchors, not to abandon selector-based automation entirely.
C
Use wildcards in the selector attributes within the Object Repository.
Wildcards (such as *) can replace the dynamic portion of an ID attribute, making the selector match elements even when the ID changes. This is a recommended practice for dynamic web elements. By incorporating wildcards into the selector stored in the Object Repository, the automation can reliably locate elements without being affected by changing IDs.
D
Add multiple anchors to the UI element in the Object Repository.
Anchors provide additional stable reference points relative to the target element. When dynamic IDs are present, anchors with stable attributes can help locate the target even if its own attributes change. Adding multiple anchors increases robustness by providing alternative ways to identify the element's position in the UI hierarchy, thus improving selector reliability.
E
Enable the 'Fuzzy Selector' option for each UI element.
Why it fails: Fuzzy Selectors are designed to handle minor variations in text or attributes, but they are not primarily intended for dynamic IDs that change completely. They work best for slightly inconsistent text or layout changes. For dynamic IDs, wildcards and anchors are more direct and reliable solutions. Fuzzy Selectors might introduce false positives and are not the recommended first approach.
A UiPath developer is using the HTTP Request activity to call a REST API that requires a bearer token for authentication. The token is stored in a secure asset in Orchestrator. The developer wants to ensure the token is not exposed in logs. Which configuration should be used?
A
Use the 'Body' property to send the token as a form parameter, and set the 'Content-Type' to 'application/x-www-form-urlencoded'.
Why it fails: Sending a bearer token in the body is not standard for bearer authentication and may not be accepted by the API. The Authorization header is the correct location for bearer tokens. This approach also risks exposing the token in logs if the body is logged.
B
Add the token to the 'Headers' property as a string in the format 'Authorization: Bearer ' + token, and ensure the token variable is not logged by setting the log level to 'None' for that activity.
The correct approach is to manually add the Authorization header with the bearer token. To prevent exposure, the developer must avoid logging the token variable and can adjust logging settings. UiPath does not automatically mask headers, so careful handling is required.
C
Add the token to the 'Headers' property as a string in the format 'Authorization: Bearer ' + token, and enable 'Secure' on the activity.
Why it fails: The HTTP Request activity does not have a 'Secure' property. While adding the token to headers is correct, there is no built-in secure flag on the activity. Instead, the token should be retrieved securely and passed as a variable, and logging should be controlled at the workflow level.
D
Use the 'Authentication' property of the HTTP Request activity, select 'Bearer', and provide the token variable. This automatically masks the token in logs.
Why it fails: The HTTP Request activity in UiPath does not have an 'Authentication' property with a 'Bearer' option. Authentication must be handled manually via headers. The activity does not automatically mask sensitive data; developers must ensure tokens are not logged by avoiding logging the token variable.
A developer needs to ensure that a queue item is retried automatically a maximum of two times if a business exception occurs during processing. Which two actions should be performed in Orchestrator? (Choose two.)
A
Set the queue's Max Retry Number to 1.
Why it fails: Setting Max Retry Number to 1 would allow only one retry after the initial failure, resulting in a total of two attempts. The requirement specifies a maximum of two retries, meaning three total attempts. Therefore, this value is insufficient and would not meet the specified retry limit.
B
Configure the queue's Unique Reference to enforce retries.
Why it fails: Unique Reference prevents duplicate items from being added to the queue by checking a reference value. It does not control retry behavior. Even if set, it would not cause a failed item to be retried; it only blocks duplicates. Therefore, it is unrelated to the retry requirement and would not help achieve the desired outcome.
C
Ensure the robot throws a BusinessRuleException when the error occurs.
The queue's automatic retry mechanism is triggered by business exceptions, not application exceptions. When a BusinessRuleException is thrown, Orchestrator marks the item as failed and schedules a retry if retries remain. If a different exception type is thrown, the item is marked as failed without retry. Thus, throwing a BusinessRuleException is essential for the retry to occur as intended.
D
In the process, catch the exception and use a Retry Scope activity.
Why it fails: A Retry Scope activity retries a block of activities within the same job execution, but it does not leverage Orchestrator's queue retry mechanism. It also does not persist across job restarts. For queue items, the built-in retry is controlled by the queue's Max Retry Number. Using Retry Scope would not automatically update the item's retry count in Orchestrator.
E
Set the queue's Max Retry Number to 2.
The Max Retry Number property on a queue defines how many times a failed item is automatically retried. Setting it to 2 ensures that after the initial attempt, the item will be reprocessed up to two more times when a business exception occurs. This directly fulfills the requirement without additional code changes.
You are using the 'Get Outlook Mail Messages' activity to retrieve emails from a shared mailbox. The activity is configured to read from the 'Inbox' folder, but it returns no messages even though there are emails. What is the most likely cause?
A
The 'Filter' property is set to a condition that excludes all emails.
Why it fails: While a filter could exclude emails, the scenario does not mention any filter being set. If a filter were set incorrectly, it could cause no messages to be returned, but the most common cause for shared mailbox issues is the missing account specification. Without additional context, this is less likely than the account property issue.
B
The 'Account' property is not set to the shared mailbox's email address.
The 'Get Outlook Mail Messages' activity requires the 'Account' property to specify which mailbox to access. If it is left blank, it defaults to the current user's mailbox. To access a shared mailbox, you must provide the shared mailbox's SMTP address in the 'Account' property. Without this, the activity will not find the emails in the shared mailbox.
C
The 'MailFolder' property is set to 'Inbox' but should be set to the full path including the mailbox name.
Why it fails: The 'MailFolder' property specifies the folder within the mailbox, such as 'Inbox'. It does not require the mailbox name. The mailbox is determined by the 'Account' property. Setting the folder to 'Inbox' is correct; the issue is not with the folder path but with the account specification.
D
The 'OnlyUnreadMessages' property is set to True, and all emails are read.
Why it fails: If 'OnlyUnreadMessages' is True and all emails are read, the activity would return no messages. However, the scenario states there are emails, but does not specify their read status. The most likely cause when accessing a shared mailbox is still the account configuration, as that is a common oversight. This option is plausible but less likely without evidence of unread status.
A developer is troubleshooting a long-running automation that intermittently fails during execution. The developer needs to capture detailed diagnostic information without overwhelming the Orchestrator logs in production. The robot is connected to Orchestrator and uses the default logging configuration. Which two actions should the developer take? (Choose two.)
A
Configure the robot's log level to Trace in Orchestrator.
Setting the log level to Trace captures the most detailed diagnostic information, including low-level execution details. This is ideal for troubleshooting intermittent failures because it provides a complete trace of the workflow. Although Trace generates a high volume of logs, the developer can enable it temporarily for the specific robot and then revert to a lower level, thus avoiding overwhelming production logs in the long term.
B
Set the robot's log level to Verbose in Orchestrator.
Why it fails: Setting the log level to Verbose would capture the most detailed logs, but it would generate a very high volume of log entries. This can overwhelm Orchestrator storage and make it difficult to find relevant information. The requirement is to avoid overwhelming logs in production, so Verbose is not appropriate here. Additionally, Verbose is typically used only for deep debugging, not for routine intermittent issues.
C
Enable verbose logging for the specific robot in Orchestrator.
Enabling verbose logging for the specific robot in Orchestrator allows the developer to capture detailed logs for that robot only, without affecting others. This targeted approach is suitable for troubleshooting intermittent failures while minimizing the impact on overall log volume. The developer can enable it when the issue occurs and disable it afterward, balancing diagnostic needs with log management.
D
Use the Log Entry activity to log custom diagnostic messages at the Information level.
Why it fails: Logging custom diagnostic messages at Information level can be useful, but it does not provide the detailed execution trace needed for intermittent failures. Information-level logs are already captured by default and may not include the granular details required to pinpoint the issue. This approach also does not address the need to capture detailed diagnostic information without overwhelming logs; it simply adds more Information-level entries.
E
Add a Log Message activity with Level set to Error before each potential failure point.
Why it fails: Adding Log Message activities at Error level before each potential failure point would generate error entries even when no failure occurs, leading to false positives and log noise. This does not capture detailed diagnostic information; it only emits errors. Moreover, it does not help in tracing the actual execution flow, and it could mislead monitoring systems that trigger alerts on error-level logs.
Refer to the exhibit. Why does the automation throw an IOException when the workflow attempts to access 'FileA.xlsx'?
Exhibit
EXHIBIT:
Workflow:
1. Excel Process Scope
2. Use Excel File (FileA.xlsx)
3. Read Range (Sheet1)
4. Write Cell (Sheet1, A1, "Processed")
5. Close Workbook (FileA.xlsx)
6. Send SMTP Mail Message
ERROR:
System.IO.IOException: The process cannot access the file 'FileA.xlsx' because it is being used by another process.
A
The file is not in the correct folder.
Why it fails: If the file were not in the correct folder, the error would be 'FileNotFoundException', not an 'IOException' regarding a process lock. The current error explicitly states that the file is open and locked by another process, confirming that the path is correct but the file is currently inaccessible.
B
The Excel Process Scope is keeping the Excel application instance open.
The Excel Process Scope persists the Excel application to optimize performance. If the file is not properly closed or if a background thread is still holding the file handle, subsequent attempts to interact with the file will fail. Managing the lifecycle correctly within the scope is essential to release handles.
C
The Read Range activity is still running in the background.
Why it fails: Activities in UiPath are generally synchronous. The Read Range activity completes before the next activity starts, so it would not be actively running while the bot is trying to execute later steps. The lock is caused by the application process management, not by an individual activity remaining active.
D
The Send SMTP Mail Message activity is accessing the Excel file.
Why it fails: The Send SMTP Mail Message activity is entirely unrelated to Excel file handles. It manages network connections to mail servers. It cannot lock an Excel file, as it does not interact with the filesystem in a way that would trigger an IO lock on a spreadsheet file.
Which TWO of the following scenarios are best suited for using the Workflow Analyzer's security rules?
A
Detecting if Orchestrator assets are retrieved using hardcoded strings.
Hardcoding asset names or sensitive credentials in workflows is a security risk. Workflow Analyzer security rules can identify these patterns, prompting developers to use proper asset management. This ensures that sensitive information is kept secure in Orchestrator rather than exposed within the source code, reducing the risk of unauthorized data access.
B
Checking if the workflow follows camelCase naming conventions.
Why it fails: CamelCase naming is a matter of code style and maintainability, not security. While it is an important rule to enforce for project consistency, it belongs under 'Naming Convention' rules, not 'Security' rules. Security rules specifically target threats to data and system integrity rather than stylistic aspects of the code base.
C
Identifying usage of unencrypted file paths for sensitive documents.
Unencrypted paths to sensitive files can lead to data leaks if the project source code is shared or exposed. Security rules can detect such patterns, advising developers to use secure storage methods or encrypted paths. This protects sensitive documents from unauthorized access and helps maintain organizational data governance and privacy standards.
D
Validating the version number of the UiPath.System.Activities package.
Why it fails: Validating package versions is a function of package management and dependency rules, not security rules. While using outdated packages can pose security risks, the rule category specifically for this is 'Package Management'. Security rules are focused on the logic and data handling within the workflow files themselves.
E
Ensuring that the project icon is updated for the process.
Why it fails: Updating a project icon is purely aesthetic and has no relevance to the security or functional integrity of an automation project. It is not managed by the Workflow Analyzer's security rule set, as it does not address any threat models or potential vulnerabilities within the automation process or its data.
The item will be added successfully because the policy allows access to the Queue.
Why it fails: Access to a queue does not grant universal permission to perform all operations. The policy clearly limits the robot to viewing items and setting statuses. Adding an item is a separate action, and since 'AddQueueItem' is not listed in the 'Action' array, the operation will fail due to insufficient permission.
B
The operation will fail because 'AddQueueItem' is not included in the 'Action' list.
The policy uses an explicit allow list approach. Because 'AddQueueItem' is omitted, the Orchestrator denies the request by default. This follows the principle of least privilege, ensuring that robots have exactly the permissions they need for their specific tasks and nothing more, which minimizes the security surface area.
C
The request will succeed because the policy applies to the entire 'InvoiceQueue' resource.
Why it fails: While the policy correctly scopes the resource to the 'InvoiceQueue', the action-level permissions are restrictive. Resource-level access is not enough; the actions themselves must be explicitly permitted. Without the specific 'AddQueueItem' action, the robot lacks the authorization required to write new data into the queue, regardless of resource scope.
D
The robot will receive a 500 Internal Server Error.
Why it fails: A 500 Internal Server Error indicates a server-side failure or crash. Permission issues, such as those caused by a restrictive policy, trigger a 403 Forbidden error, which is the expected response when a client tries to perform an action they are not authorized to execute on a secured resource.
A developer wants to log the start and end time of a long-running process for performance analysis. What is the most reliable way to achieve this?
A
Use the 'Write Line' activity at the start and end
Why it fails: The 'Write Line' activity is not suited for performance monitoring because these logs are not stored in Orchestrator. Consequently, they cannot be retrieved for long-term trend analysis or auditing, rendering them useless for building performance dashboards or calculating the execution duration of processes running in the production environment.
B
Log the time using 'Log Message' with a unique process ID
By using 'Log Message', the entries are captured in Orchestrator. Including a unique process ID allows developers to isolate the start and end logs for a single execution instance, enabling the accurate calculation of process duration, which is crucial for identifying bottlenecks and optimizing the automation for better performance.
C
Enable 'Trace' logging in Orchestrator for the duration
Why it fails: Enabling 'Trace' logging captures excessive amounts of data, which can negatively impact system performance and clutter logs. It is an inefficient and impractical way to measure duration. Targeted 'Log Message' entries provide the necessary data points without the significant overhead and storage issues associated with enabling trace-level logging globally.
D
Use the Robot's system-generated job status logs
Why it fails: While Orchestrator captures job start and end times automatically, these logs may not align perfectly with specific business workflow steps. Custom logging provides more flexibility, allowing developers to measure the duration of specific activities or sub-processes rather than just the entire job duration, which is often needed for detailed process optimization.
These UiPath-ADAv1 practice questions are part of Courseiva's free UiPath certification practice question bank. Courseiva provides original exam-style UiPath-ADAv1 questions with detailed explanations, topic-based practice, mock exams, readiness tracking, and study analytics.