Skip to main content

Trouble Setting Dropdown Value using Web Automation

· One min read

Trouble setting the dropdown value for an Angular mat-select element

When trying to set the dropdown field value of a mat-select element from Angular Framework using Set Dropdown Field Value activity under the Web Automation category, it fails. This issue is because of the lack of a JavaScript-based method for setting the value in Angular.

Here is the example of the mat-select element used in one of the web pages:

To address this issue, you can follow these steps as a workaround:

  1. Use Click Element activity to click dropdown. It will display a pop-up with available options.

  2. Again, use Click Element activity to click on desired options from the pop-up.

Excel Cell Address - Knowledge Base

· 2 min read

Excel activities provide various properties that users can configure to optimize their tasks. This guide details how to set these properties within Excel activities effectively:

Sheet Index and Name

You can specify the Sheet Index or Name in a workbook containing multiple sheets. By default, the active Sheet is considered if neither is specified.

Workbook sheets are indexed starting from zero, moving left to right. For illustration, consider a workbook with three sheets depicted in the image below:

The index mapping for the sheets is as follows:

Sheet NameSheet Index
Sheet10
Sheet21
Sheet32

Column Index and Letter

The Column Index denotes a specific column within a sheet, beginning from zero (the leftmost column) and extending rightwards.

In Excel, columns are typically identified by letters. Below are examples demonstrating the correlation between numeric indices and their corresponding column letters.

Column LetterColumn Index
A0
B1
C2
......
Z25

Row Index

The Row Index refers to a row in a sheet, starting from zero at the top and incrementing downwards.

Cell

A cell in a sheet is a unique location determined by combining a column letter and row index.

note

Note that while the Row Index is zero-based, the top row for a Cell is considered row 1. Thus, adding 1 to the row index is essential when formulating a cell address.

The following table provides examples of cell addresses for better understanding:

Cell AddressDescription
"A1"First cell in the sheet, Column A, Row Index 0
"D55"Cell with Column D and Row Index 54

Range

The term Range describes a selection of cells within a spreadsheet. It is represented as a string and can take various formats, as exemplified below:

For example: "A1:B10", "A1"

Adding Range in the form of string

note
  • Defining the end of a range requires specifying an End Cell value. Without it, the End Cell defaults to the last cell on the Sheet containing data, commencing from the specified Start Cell.

Converting numeric index to letter

In process automation scenarios, you may need to convert a column's numeric index into a letter-based index. IntelliBuddies Excel utilities facilitate this conversion seamlessly.

To convert a letter-based column index to a numeric one, use the following expression:

IntelliBuddies.Activities.Excel.ExcelExtensions.ToIndex ("A")

Optimize your DataTable operations using LINQ

· One min read

We all know that Languare INtegrated Query (LINQ) is a technology that integrates query capabilities directly into programming languages. We also know that C# supports LINQ. LINQ enables you to write queries against strongly typed collections of objects by using language keywords and familiar operators.

IntelliBuddies process definition supports C# as part of the Expression dialog and thus enabling the designers to utilize LINQ and solve complex query problems with simple statements.

This blog talks about some of the typical scenarios where LINQ would make your jobs easy and there by making your process simple and easily manageable.

DataTable is one of the mostly utilized Data object when it comes to process flow. Here, you will see how effectively you could solve the most appearing problems on DataTable using LINQ.

Filtering DataTable Rows

Updating a specific row inside a DataTable

Deleting a row from DataTable

Desktop Automation - Knowledge Base

· 2 min read

Using Send Keys

Desktop automation activities sometimes fail to perform their tasks due to the unavailability of a UI element at runtime. When you encounter such scenarios, you can work around and perform automation using Send Keys activity. This blog explains multiple scenarios where Send Keys could be an alternative solution.

1. Selecting menu options

Typically, we select menu options using the Mouse Click activity. In case of unavailability of the element, Mouse Click fails to operate. In these scenarios, you can use the Send Keys activity with the '[DownArrow]...[Enter]' key to select the menu option. 'Send Keys' does not depend on the UI element to be available, ensuring that the actual mouse click activity is replaced with key-based menu operations.

2. Selecting the Radio Button

Typically, we use Select Radio Button to automate operations on Radio Button UI elements. However, when the activity fails due to the unavailability of the UI element, we could try to achieve the automation using Mouse Click activity. If this fails, then we can try with the Send Keys activity with the '[Space]' key to select the radio button.

3. Selecting the Checkbox

Typically, we use Set Checkbox State to automate Checkbox UI elements. If it fails, we can try to achieve the automation of Checkbox using Mouse Click activity. If this also fails, then an alternate way to automate is using Send Keys activity with the '[Space]' key to toggle the Checkbox state.

4. Populating Textbox

Typically, we use the Populate Text Field activity to fill in text inside a field. If it fails, another way to work is using Send Keys activity with the text data which writes inside the textbox.

Mouse Click and Mouse Move activity with X & Y Adjustments

When the Mouse Click or Mouse Move activities are unable to find a particular element(A), we can indicate the nearby element(B) and make the X & Y adjustment in the activity to reach that element(A).

Find the unavailable element location manually by adjusting the X, Y, or both values. Provide the extracted value to X Adjustment and Y Adjustment property of Mouse Click or Mouse Move activities

Setup Gmail to work with IntelliBuddies

· 2 min read

Starting 01st of June, 2022, Gmail has completely removed unsecured access to their Mailboxes. Hence, you will not be able to access your Gmail using your Gmail user credentials from third-party applications. Instead, they recommend users enable two-step verification for their account and register the third-party application that you would let access to your Gmail with your consent. On successful registration of the third-party application, Gmail will provide you with App Password to be used to access your Mailbox from third-party applications.

Use the app passcode in following Email activities to input secured password for password field:

Generating App Password

Generating App Password is a two step process as stated below:

Turn on 2-Step Verification

To turn ON two-step verification for your Gmail account, follow the steps given below:

  • Open and login to Google Account.

    OR

  • Click on Google Account in the right top corner. Click on Manage Your Google Account.

  • In the left navigation pane, click on Security

  • Scroll down to the Signing into Google section and select the 2-Step Verification

  • Click on GET STARTED button.

  • Enter the password and G-Code sent to your mobile by clicking on the Text in verification page. - On successful validation, open the 2-Step Verification page.

  • Click on TURN ON

Generate 16-digit App Password

  • Go back or Navigate to the Security tab

  • Scroll down to the Signing into Google section and select the App passwords

  • In the App Passwords page, click on the Select app dropdown and choose Other (Custom name)

  • Enter an App name as IntelliBuddies and click on GENERATE

  • A 16-digit App Password will be generated and shown on the page.

  • Copy the 16-digit passcode and use this in Activity to provide a secure password.