# Use a Data Fabric entity as test data in performance scenarios

> Supply each virtual user with its own test data from a Data Fabric entity in a Test Manager performance scenario, such as a different user name for each virtual user.

Performance scenarios often need each virtual user to work with different data, such as a different user name and password. You can supply that data from a Data Fabric entity. Each virtual user automatically receives its own rows from the entity, and you don't write any code to fetch them.

Storage buckets and JSON, CSV, or Excel data files don't distribute data per virtual user, so use a Data Fabric entity for this scenario.

## How it works

A performance test doesn't need an activity that reads the entity. Instead:

1. The test automation declares an **In** argument for each entity column it needs.
2. You link the Data Fabric entity to a load group in the performance scenario.
3. At run time, each virtual user receives a set of rows, and the value of each column is passed to the argument with the same name.

:::important
Each input argument must have the same name and the same type as the entity column. If either differs, the value isn't passed to the automation. A test case doesn't need to contain test data to use a data source.
:::

## Prerequisites

* A Data Fabric entity in your tenant that holds the test data.
* A test automation project in Studio.
* A performance scenario, or permission to create one, in the folder where you publish the automation.

## Steps

1. In Data Fabric, create an entity with one column for each value your automation needs. For example, create an entity with the Text columns `UNAME` and `PWD`.
2. Note the name and type of each column. You must match them exactly in the test automation.
3. In Studio, open the test automation.
4. Add an **In** argument for each column you use, with the same name and the matching type. For a Text column, use a `String` argument. For example, add `UNAME` of type `String` and use it in a **Type Into** activity. You only need to declare the columns you use.
5. Publish the automation to the folder you run the scenario from.
6. Link the published automation to a test case in Test Manager.
7. Add the test case to a load group in a performance scenario.
8. Link the entity in the **Data source** field of the load group. Each load group can use its own data source. For steps, refer to [Step 4: Configure load group settings](step-4-configure-load-group-settings.md).
9. Run a dry run or a full execution.

## Result

UiPath distributes the entity's rows across the virtual users in the load group. For example, if the entity has 100 rows and the load group has 100 virtual users, each virtual user gets one row.

While the scenario runs, the run page shows the connected entity. Select it to open the entity in Data Fabric. Different values on different virtual users confirm that the rows are being distributed.

If the automation doesn't receive values, refer to [Troubleshooting performance testing](troubleshooting-performance-testing.md).
