# Executing Test Case with Avo Agent

### **How Agent works in Avo Assure:**&#x20;

1. Navigate to **Execution tab**. **Add Test Cases** in the Execution List. Click **Execute** button from the top right corner of Execution window
2. Select **Execute On** as **Grid radio button**, select any agent from agent dropdown then select browser from Browsers dropdown and click **Execute** button to start the execution&#x20;

<figure><img src="https://2174257472-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fk8QZzXZMIJSStKAzDSTu%2Fuploads%2FlaJod1Q1rZ57RUZ2XlWY%2Fimage.png?alt=media&#x26;token=1da83815-6a19-40ab-a50c-00e63113518d" alt="" width="563"><figcaption></figcaption></figure>

{% hint style="warning" %}
***Note:***

*Execution through an Agent does not support keyboard-related actions (e.g., **Send Function Keys** and **Send Keystroke Values)***.

*The number of agents and clients that can be configured depends on the system capacity. Systems with higher capacity support more agents and clients efficiently.*
{% endhint %}

### Flow Diagram

<figure><img src="https://2174257472-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2Fk8QZzXZMIJSStKAzDSTu%2Fuploads%2F2xchlXL1NCZIESbBZgmq%2Fimage.png?alt=media&#x26;token=dd71e932-9361-4183-aff3-3bd9bdd2cbfa" alt=""><figcaption></figcaption></figure>

### In this example, let’s understand how Agent Execution works in Avo Assure:

Let’s say you have **9 test cases** that need to be executed. These are part of your **Execution List** in Avo Assure.

To run these test cases, you’re using a **single system** where **one agent** is installed and configured with **3 clients**.

{% hint style="warning" %}
***Note:** Only one agent can be installed on a system at a time.*
{% endhint %}

Test cases are **distributed across 3 available clients**, which execute them in parallel. The remaining test cases will be placed in a queue and executed as clients become available.

#### **Execution Process:**

As soon as you start the execution:

* **Test Case 1** is picked by **Client 1**
* **Test Case 2** is picked by **Client 2**
* **Test Case 3** is picked by **Client 3**

Now, all 3 clients are busy executing their assigned test cases.

The remaining test cases (from **Test Case 4** to **Test Case 9**) remain in the queue.

As soon as any client finishes its current execution, it becomes available and **automatically picks up the next test case** from the queue. For example:

* When Client 1 completes Test Case 1, it picks up **Test Case 4**
* When Client 2 completes Test Case 2, it picks up **Test Case 5**, and so on

This cycle continues until all 9 test cases are executed.
