# Test Cases

> Application testing in Studio works in either VB or C#. You can create individual automation projects for scenarios like data verification or integration with your CI/CD pipeline. Design your workflow in Studio. You can perform automated application testing in VB or C#.

## Overview

Application testing in Studio works in either VB or C#. You can create individual automation projects for scenarios like data verification or integration with your CI/CD pipeline. Design your workflow in Studio. You can perform automated application testing in VB or C#.

## Conditions

* Perform application testing through [test cases](https://docs.uipath.com/studio/standalone/2023.10/user-guide/application-testing-test-cases#test-cases) and [data-driven test cases](https://docs.uipath.com/studio/standalone/2023.10/user-guide/data-driven-testing).
* Test automation projects can have multiple entry points if they contain several test cases with linear execution, as the activities are organized sequentially.
* Workflow execution is performed per test case unless other `XAML` files are invoked.
* You can convert workflows to test cases, import from other projects or create new ones.

## Dependencies

[Testing Activities Package](https://docs.uipath.com/activities/docs/testing)

## Create a test case

You can create a test case by invoking a workflow from an existing project.

1. Open your workflow in Studio.
2. In the **Projects** panel, right-click the workflow and choose **Create Test Case**.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/studio/standalone-docs-image-167289-9aa5c045.webp)

3. (Optional) Select **Mock workflow under test** when you create your test case if you want to make a copy of your workflow where you can mock specific activities. If you have an existing mock file that you want to use, you can select it from the **Mock** dropdown list. For more information, see [Mock Testing](https://docs.uipath.com/studio/standalone/2023.10/user-guide/mock-testing).

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/studio/standalone-docs-image-168045-9fdb0c88.webp)

4. (Optional) Select a **Template** from the dropdown list if you have created one previously. For more information, see [Test Case Templates](https://docs.uipath.com/studio/standalone/2023.10/user-guide/test-automation-test-case-templates#test-case-templates).
5. (Optional) Add the test case to an **Execution Template**. You need to have created an execution template first. For more information, see [Create execution template](https://docs.uipath.com/studio/standalone/2023.10/user-guide/execution-templates#execution-templates).
6. Click **Next** if you want to [add test data](https://docs.uipath.com/studio/standalone/2023.10/user-guide/data-driven-testing).
7. Click **Create** to confirm the changes.

A test case `XAML` file is created invoking the workflow with the following containers: **Given**, **When**, and **Then**. The file is invoked inside the **Invoke Workflow File** activity, part of the **When** container.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/studio/standalone-docs-image-168773-b76be4f9.webp)

Arguments from the workflow are automatically imported. To view or add more arguments, click the **Import Arguments** button, part of the **Invoke Workflow File** activity.

:::tip
Check out the following additional actions: 
* [Add test data](https://docs.uipath.com/studio/standalone/2023.10/user-guide/data-driven-testing)
* [Mock testing](https://docs.uipath.com/studio/standalone/2023.10/user-guide/mock-testing) 
* [Link test cases to Test Manager](https://docs.uipath.com/test-suite/automation-suite/2023.10/user-guide/managing-test-cases)
:::

## Publish test cases

Whether you are working with a Process or Library, if you have test cases within your project, then you can choose to either publish the entire project (**Publish**) or only the test cases (**Publish test cases**). If you are working with a Test Automation project, you can only publish test cases to Orchestrator.

To publish the test cases that you create in Studio, you must set the test cases as publishable, because both test cases and data-driven test cases are created as drafts by default. To publish the test cases within all types of Studio projects, perform the following steps:

1. Right-click a workflow and select **Set as Publishable**, to allow the test cases to publish to Orchestrator.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/studio/standalone-docs-image-171720-a79e0414.webp)

The `xaml` or `cs` icon will turn blue as an indication that the test case is ready to be published and packaged in a `nupkg` file. To revert back to your workflow draft, right-click the workflow and select **Ignore from Publishing**.
2. Publish the project:
   * If you are in a Test Automation project, click **Publish** in the Studio **Design** tab ribbon.
   * If you are in a Process or Library project, click **Publish test cases** from the Studio **Design** tab ribbon.
3. Configure the **Package properties**, **Publish Options**, and the **Certificate signing** settings for the publishing action, then click **Publish** to publish your test cases to Orchestrator.
   :::important
   You can publish the test cases to Orchestrator, to Robot defaults or a custom path. If you want to publish to Orchestrator, make sure your [Robot or Assistant is connected to Orchestrator](https://docs.uipath.com/orchestrator/automation-cloud/latest/user-guide/connecting-robots-to-orchestrator). Publishing to Orchestrator is also required when you want to [execute automated tests through Test Manager](https://docs.uipath.com/test-suite/automation-suite/2023.10/user-guide/executing-tests). Make sure to publish the package to the Orchestrator Tenant Process Feed, then [link the test cases to Test Manager](https://docs.uipath.com/test-suite/automation-suite/2023.10/user-guide/managing-test-cases). Publishing the package in a different folder may result in execution errors.
   :::
   ## Convert workflow to test case

To convert workflows into test cases, right-click the workflow in the **Project** panel and select **Convert to Test Case**:

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/studio/standalone-docs-image-167661-4c21762b.webp)

Result: The workflow becomes a Test Case, and is regenerated based on the [BDD Test Case template](https://docs.uipath.com/studio/standalone/2023.10/user-guide/test-automation-test-case-templates#test-case-templates).

## Import test cases

If you already created workflows or test cases, you can import them into your current project by right-clicking the project node, and selecting **Import Test Cases**. The imported `XAML` files are added to your project as draft test cases.

   ![docs image](https://dev-assets.cms.uipath.com/assets/images/studio/standalone-docs-image-167681-2f786948.webp)

## Import services

Similarly to importing data collections into [API Test Automation](https://docs.uipath.com/studio/standalone/2023.10/user-guide/api-test-automation#api-test-automation) libraries, you can import such collections into your Application Testing processes using the **New Service** wizard.

:::note
This is available only for libraries and **Test Automation** projects created in the Studio profile.
:::
