Capgemini UiPath Interview Questions

1. What are the Credentials? How are the credentials used in your project?

  • Credentials are one of the Asset types used in Orchestrator. They are used to store credentials in Orchestrator.
  • Credentials contain usernames and passwords that the Robot requires to execute particular processes, such as login details for SAP or SalesForce and Gmail credentials.
  • The Get Asset and Get-Credential activities used in Studio request information from Orchestrator about a specific asset, according to a provided AssetName.
  • If the AssetName provided in Studio coincides with the name of an asset stored in the Orchestrator database, and the Robot has the required permissions, the asset information is retrieved and used by the Robot when executing the automation project.

2. What is LINQ? Use the case of Linq?

  • LINQ (Language Integrated Query) is uniform query syntax in C# and VB.NET to retrieve data from different sources and formats. We can recover data from lists, arrays, data tables.
  • It is integrated in C# or VB, thereby eliminating the mismatch between programming languages and databases, as well as providing a single querying interface for different types of data sources.
  • For example, SQL is a Structured Query Language used to save and retrieve data from a database. In the same way, LINQ is a structured query syntax built-in C# and VB.NET to retrieve data from different types of data sources such as collections, ADO.Net DataSet, XML Docs, web service, and MS SQL Server and other databases.
  • LINQ queries return results as objects. It enables you to uses an object-oriented approach on the result set and not to worry about transforming different formats of results into objects.

Use case of LINQ in UiPath

LINQ Usage : LINQ queries return results as objects. It enables you to uses an object-oriented approach on the result set and not to worry about transforming different formats of results into objects.

The following example demonstrates a simple LINQ query that gets all strings from an array that contains ‘a.’

Example: LINQ Query to Array

// Data source

string[] names = {“Bill”, “Steve”, “James”, “Mohan” };

// LINQ Query

var myLinqQuery = from name in names

where name.Contains(‘a’)

select name;

// Query execution

foreach(var name in myLinqQuery)

Console.Write(name + ” “);

Try it

In the above example, string array names are a data source. The following is a LINQ query that is assigned to a variable of myLinqQuery.

from the name in names

where name.Contains(‘a’)

select name;

The above query uses the query syntax of LINQ.

3. Suppose there are 1000 rows and 50 columns, Suppose I want to select any random row data? How can it be done?

Assign dtVariable = new DataTable

Initializing your DataTable variable

[Build your data table process]

Assign intRandom = new Random().Next(0, dtVariable.Rows.Count – 1)
This will give you a randomly generated number between 0 – N, where N = number of rows in your
datatable (i.e., a data table of 10 rows will result in a count of 10)
We subtract 1 because dtVariable.Rows.Count starts at 1, whereas dtVariable.Rows(index) starts at 0 (i.e., a data table of 10 rows will result in an index max of 9).
Assign rowRandom = dtVariable.Rows(intRandom)
This will output a DataRow at random of DataRow type.

4. What are dynamic selectors? Types of Dynamic Selectors used in UiPath?

The Selector is a string of characters (VB expression) used to identify objects on the screen. The Selector is one of the properties of UI activities and has an XML format. All the events in UiPath Studio related to graphical elements have the selector property.
The solution to this problem is to :

  • Build better selectors
  • Use WildCard
  • To see the better and dynamic attributes compare the selectors and make dynamic them using wildcard operators and identify reliable selectors using UIExplorer.
  • Selectors' attribute part contains all the attributes of an object. Not all can be added or removed from your selector string because not all of them are useful for identifying a certain object.
  • The most important thing when choosing selectors is to pick those who always have a constant value. If the number of attribute changes, then the Selector will not be able to identify the element correctly.
  • Attributes may change their values from time to time when the application’s UI changes. When this happens, part of the dynamic attributes often remain unchanged, and we somehow have to specify the variable parts.
  • This can be done using wildcards :

1.* star means zero or more characters can be there. Example: title=’* – Notepad.’

2.? question mark means exactly one character. Example: title=‘Expl?rer’.

A direct consequence when using wildcards is the increased probability of there being more and more nodes matching the Selector.

5. If you do not have Excel installed on your system. How would you use excel activity in UiPath Studio?

  • We can use Excel activity Workbook Read Range without installing Excel on System. As we don’t need excel installed for workbook read range activity.
  • UiPath Studio offers you the possibility to work with Excel using specialized activities. These activities are stored in the UiPath Excel activities package.
  • The Excel package can be downloaded from “Manage Packages,” but it’s by default installed when you install UiPath Studio.
  • Through this app integration approach, you can read/write Excel documents.

Good points for not using the Excel application :

  • You don’t need to install/buy Microsoft Excel
  • Excel application will not pop up on your desktop, suitable for robots that run on a machine that doesn’t have a user interface.

6. What is the port number of POP3 Gmail/ IMAP Gmail?

  • Port number of POP3 Gmail is-: 993

By default, the POP3protocol works on two ports :

  • Port 110: this is the default POP3 unencrypted port
  • port 995: this is the port you need to use if you want to connect using POP3 securely

By default, the IMAP protocol works on two ports :

  • Port 143: this is the default IMAP unencrypted port
  • Port 993: this is the port you need to use if you want to connect using IMAP securely.

7. What is the Port number of Smtp Gmail?

  • SMTP Port– 587 (default Google SMTP port).
  • Outgoing Mail (SMTP) Server-: com
  • Requires SSL: Yes
  • Requires TLS: Yes (if available)
  • Requires Authentication: Yes
  • Port for SSL:465
  • Port for TLS/STARTTLS:587

8. I suppose there is Image in PDF, which is of 120 dp, how would extract data from that Image? Which automation would be used?

  • To extract data from Image of Size 120 dp from PDF, we need to use Read PDF with OCR activity, and automation we need to use is PDF Automation.
  • We can also use Microsoft OCR activity to extract exact data from the Image of the PDF file.

9. If Suppose there are two excels, how would merge two excel data into one?

  • Firstly we need to use Read Range to read the two excel files,
  • Then we need to use the merge data table activity to merge the data table.
  • Then we need to use the resultant data table to make the merged excel file using WriteRange activity.

10. If you have 1000 of data in the queue and there are five robots you want to distribute data among them, how you can do it without using queue activity

  • To distribute 1000 records of data in the queue on five robots among them without using queue activity, we need to set up an Excel or CSV file that is in a shared location accessible by all your bots.
  • Then have a column for Status, and as a bot processes each row, they update that column to “In Progress” and save the file. Bots should only process rows if column <> “In Progress.”
  • We need to add other columns for tracking and logging, such as Transaction IDs, Bot Name, Fail Reason, etc.

11. I have a process of two different versions how will you identify them at the time of deploying?

  • To determine the process of two different versions at the time of deploying, we can identify by publishing Process from Studio, and we can choose the project version number.
  • Also, within orchestrator, the package number will match the version number of the published Process from Studio.
  • Based on its version number, we can identify it. At the time of publishing the project from Uipath Studio and it shows the new version number.

12. Can you update credentials stored in Assets in Orchestrator from UiPath Studio? If yes, then how you can update credentials?

  • We can update Credentials stored in Assets in Orchestrator but not at runtime. We can update Credentials manually before scheduling bot.
  • We can allow the user to update only specific assets. You can create a custom user role and give him permissions only to asset editing, though. This is done through the /roles route on Orchestrator.
    UiPath.Core.Activities.SetCredential
  • Enables you to update the value of an indicated credential asset, that is already available in Orchestrator, be it a global or a Per Robot asset. Please note that to execute this activity, the Robot role needs to have Edit permissions on assets. The activity runs under the Robot, which executes it.

13. Explain the Uipath lifecycle?

A typical life cycle of UiPath RPA has 4 phases. Analysis, Bot Development, Testing, and Support & Maintenance.

  • Analysis : Business teams & RPA Architects work together to analyze a business process for RPA development.
  • Bot Development : Developer teams start working on developing automated workflows for the requirements in a distinct development environment.
  • Testing : Run testing cycles such as SDLC to analyze the quality and correct defects.
    Support & Maintenance-After the development & testing phases, a bot enters the maintenance phases in which it provides continuous support and helps in the immediate defect resolution.

14..What are macros in UiPath?

Macro is a piece of programming code that runs in an Excel environment and helps automate routine tasks. In a layman’s language, a macro is a recording of your routine steps in Excel that you can replay using a single button.

  • Execute Macro : Execute the macro within a workbook. The Workbook file needs to be a Macro-Enabled Workbook. Changes are immediately saved. Can only be used in the Excel Application Scope UiPath.Excel.Activities.ExecuteMacro

Properties are:

  • Input

MacroName: The name of the macro to be executed. Only String variables and strings are supported.

Strings must be placed between quotation marks.

  • Macro Parameters : Enables you to pass parameters when executing the macro. This field supports only IEnumerable<object> variables.
    Common
  • DisplayName : The display name of the activity.
  • ContinueOnError : Specifies if the automation should continue even when the activity throws an error. This field only supports Boolean values (True, False). The default value is False. As a result, if the field is blank and an error is thrown, the execution of the project stops. If the value is set to True, the execution of the project continues regardless of any error.
  • If this activity is included in Try Catch and the value of the ContinueOnError property is True, no error is caught when the project is executed.

Misc :

  • Private : if selected, the values of variables and arguments are no longer logged at the Verbose level.
    Output
  • Macro Output : The value returned by the execution of the macro, if any. This output is retrieved as Object variables.

15. Explain how to Create and Remove an argument in UiPath.

To create an argument:

  • In the Designer panel, click on Arguments (the Argument panel will be displayed)
  • Click on Create argument line

To remove an argument :

  • In the Arguments panel, select an argument or right-click on the argument and press Delete

16. What are the different types of Logs? What are Log Fields?

There are two different types of Logs :

  • Default logs
  • Execution start
  • Execution end
  • Transaction start
  • Transaction end
  • Error log
  • Debugging log
  • User-defined logs
    Log fields are :
  • Message
  • Level
  • Timestamp
  • FileName
  • jobId
  • processName
  • process version
  • windows identity
  • and robot name.a

17.Difference Between screen scraping and data scraping?

Screen Scrapping Data Scraping
Difference Between screen scraping and data scraping Used to extract the structured data
Scraped information stored in String Scraped information stored in Data table
Can not easily extract the data into excel or DB can extract the data to excel or DB easily
can extract image and pdf can not extract from image and PDF

18. How to convert a string variable into int?

We can use the following method to convert string to int

Convert.ToInt32(String variable_name)
Ex)
String age= 23;

int patient_age=Convert.ToInt32(age)

19. Whats mean by the Generic variable in Uipath?

It is a special variable that can store any kind of datatypes like string, int, dates format, and arrays.
This variable only in Uipath only.

20.Is it possible to create a variable without the activity of the designer panel?

No, is it not possible, we need to create an activity at least once

21. What's mean by arguments?

It’s used to pass the data into one project to another

22. How to create your project and how to execute it?

Steps for creating the Project :

  • Click start in Uipath studio
  • Select Project type: New, Simple process, agent Process Implementation, and Transactional Business process
  • In the new tab, Enter the name, location, and description after that click on create
  • Based on the project design window will open.
  • Drag and drop the activities into the design window
  • Select RUN or press F5

23. Where will you use Delay Before and Delay After?

  • Delay Before: Before the action executes it wait for the mentioned time and then it will execute.
    It is working on the only millisecond
  • Delay After: Once the activity is executed, it waits for the mentioned time and executes the next process.

24. How will you find the Children from the table?

  • Drag and drop the Find Children from the activities panel
  • Indicate the screen you want to find the children
  • Assign the correct format variable in the properties panel
  • Using for each you can extract the child from the table

25.How many ways there for creating Variable in Uipath?

3 ways we can create the variable in uipath

  • In the Control bar, We can create the variable using the variable tab
  • In Properties window, Output column we create the variable
  • Select Create variable from Ribbon tab

26.Difference Between Basic and desktop Recording?

Basic Recorder Desktop Recorder
Each activity, Generates a full selector Generate only a partial selector on each activity
Suitable for a single activity Suitable for multiple activities
Slower than Desktop recorder Faster than Basic
Not Generating container for each activity Generate container for each activity

27. What is the use of Element Exists?

Its used to identify the UI Element is present or not during the execution.
The output of the active support only boolean

28. Explain the following activities- Wait For Ready, Timeout MS

  • Wait For Ready: The page is fully loaded or ready before we are performing the activity, It has 3 Option
  • NONE: Does not wait before the activity performed
  • Interactive: This action wait for some inner part of the screen is a load.
wait for <Wnd>,<ctrl> this kind of tag to load.
  • Complete: Its wait for the full screen for the app and Inner controls are to load. Once the loading is completed only the Next activity will perform.
  • Timeout MS: The activity waits for a certain time before the error Selector not Found expectation thrown.
  • Default waiting time is 30000 milliseconds (30sec)

29. How to convert the Output string variable into the Output data table?

  • Using the Generate Data table we can convert a string to a data table
  • Open Generate data table from an Activity panel
  • In Generate data table Properties: Assign the input variable as string output
  • Enter the output data table in the variable
  • The string values are assigned into datatable variable

30. Explain Append Range in UiPath?

Append range are used to Edit or Insert data into an existing workbook, with using of append range we can insert the data after the last written data from the workbook. Whenever we do append the data it will not overwrite the existing data.