---
title: "Exporting Test Executions"
canonical: "https://docs.getxporter.app/space/XPORTERCLOUD/560192/Exporting%20Test%20Executions"
format: markdown
---
> Macro (rw-ui-expands-macro)
> 
> > Macro (rw-expand)
> 
> > Macro (toc)

# Introduction

From a Test Execution, it's possible to export the following Xray data: [Tests](https://docs.getxporter.app/space/XPORTERCLOUD/560236), Test Runs and [Test Plans](https://docs.getxporter.app/space/XPORTERCLOUD/528621).

All fields listed [<span style="color: #000000">here</span>](https://docs.getxporter.app/space/XPORTERCLOUD/558575/Mappings)<span style="color: #000000"> </span>are available because the Test Execution is a regular Jira Issue.

In addition, you can export the following fields:

```
Test Environments: ${TestEnvironments}

#Overall Execution Status (percentage + total of tests per status)

TO DO: ${Overall Execution Status.TO DO.Percentage}% - ${Overall Execution Status.TO DO.Count}
EXECUTING: ${Overall Execution Status.EXECUTING.Percentage}% - ${Overall Execution Status.EXECUTING.Count}
PASSED: ${Overall Execution Status.PASSED.Percentage}% - ${Overall Execution Status.PASSED.Count}
FAILED: ${Overall Execution Status.FAILED.Percentage}% - ${Overall Execution Status.FAILED.Count}
ABORTED: ${Overall Execution Status.ABORTED.Percentage}% - ${Overall Execution Status.ABORTED.Count}
```

# Exporting Data

## Exporting Tests from a Test Execution

Below, you can find examples of how to iterate over the list of [Tests](https://docs.getxporter.app/space/XPORTERCLOUD/560236/Exporting+Test) associated with a Test Execution.

```
Total number of associated tests: ${TestsCount}

// Iterating each test
#{for tests}
	Key: ${Tests[n].Key}
	Test Status: ${Tests[n].TestStatus}
	// Iterating over test steps for each test
	#{for m=Tests[n].TestStepsCount}
		Action: ${Tests[n].TestSteps[m].Action}
		Data: ${Tests[n].TestSteps[m].Data}
		Expected Result: ${Tests[n].TestSteps[m].ExpectedResult}
	#{end}
#{end}
```

or

```
Total number of associated tests: ${TestsCount}

// Iterating each test
#{for j=TestsCount}
	Key: ${Tests[j].Key}
	Test Status: ${Tests[j].TestStatus}
	// Iterating over test steps for each test
	#{for m=Tests[j].TestStepsCount}
		Action: ${Tests[j].TestSteps[m].Action}
		Data: ${Tests[j].TestSteps[m].Data}
		Expected Result: ${Tests[j].TestSteps[m].ExpectedResult}
	#{end}
#{end}
```

## Exporting Test Plans from a Test Execution

Below, you can find a examples of how to iterate over the list of [Test Plans](https://docs.getxporter.app/space/XPORTERCLOUD/528621) associated with a Test Execution.

```
Total number of associated test plans: ${TestPlansCount}

// Iterating each test plan
#{for testPlans}
	Summary: ${TestPlans[n].Summary}
#{end}
```

or

```
Total number of associated test plans: ${TestPlansCount}

// Iterating each test plan
#{for j=TestPlansCount}
	Description: ${TestPlans[j].Description}
#{end}
```

## Exporting Test Runs from a Test Execution

All fields listed [<span style="color: #000000">here</span>](https://docs.getxporter.app/space/XPORTERCLOUD/558575/Mappings)<span style="color: #000000"> </span>are available and will refer to the Test Execution associated.

In addition, you can export these fields:

|  |  |
| --- | --- |
| AssigneeId | The test execution's assignee |
| Comment | The test execution's comment |
| Generic Test Definition | The generic test definition of the test run  [WIKI] |
| Cucumber Scenario | The cucumber definition of the test run |
| Executed By | The user's ID that executed the test execution |
| Execution Status | The status of the test execution |
| Started On | The start date of the test execution |
| Finished On | The end date of the test execution |
| ExecutionEvidencesCount | The number of execution evidences |
| ExecutionDefectsCount | The number of execution defects |
| TestStepsCount | The test execution's steps count |
| TestType | The test execution's test type |
| TestStepsDefectsCount | The number of defects for all test steps |


> ℹ️ [WIKI] [indicates that the field supports the Wiki format](https://docs.getxporter.app/space/XPORTERCLOUD/527053/Wiki+Markup%2C+HTML+and+Links).

## Test Run Custom Fields

[Xporter](https://marketplace.atlassian.com/apps/891368/xporter-export-issues-from-jira?tab=overview&hosting=cloud) supports custom fields for Test Runs. To use your own defined custom fields, use the same notation: 

`${<Custom field name>}`

> ℹ️ The custom field must have a different name from the table above.

##### **Iterate over test runs**

```
Total number of associated test runs: ${TestRunsCount}
 
// Iterating each test run
#{for testruns}
    Assignee Id: ${TestRuns[n].AssigneeId}
    Key: ${TestRuns[n].Key}
    Summary: ${TestRuns[n].Summary}
    Comment: ${TestRuns[n].Comment}
    Generic Test Definition: ${wiki:TestRuns[n].Generic Test Definition}
    Cucumber Scenario: ${TestRuns[n].Cucumber Scenario}
    Executed by: ${TestRuns[n].Executed By}
    Execution Status: ${TestRuns[n].Execution Status}
    Started on: ${TestRuns[n].Started On}
    Finished on: ${TestRuns[n].Finished On}
    Test Type: ${TestRuns[n].TestType}
 
    // Iterating over execution evidences for each test run
    Execution Evidences Total: ${TestRuns[n].ExecutionEvidencesCount}
    #{for m=TestRuns[n].ExecutionEvidencesCount}
        Id: ${TestRuns[n].ExecutionEvidences[m].Id}
        Name: ${TestRuns[n].ExecutionEvidences[m].Name}
		File URL: ${TestRuns[n].ExecutionEvidences[m].FileURL}
        Evidence Image: ${TestRuns[n].ExecutionEvidences[m].Evidence}
    #{end}
 
    // Iterating over execution defects for each test run
    Execution Defects Total: ${TestRuns[n].ExecutionDefectsCount}
    #{for m=TestRuns[n].ExecutionDefectsCount}
        Id: ${TestRuns[n].ExecutionDefects[m].Id}
        Description: ${TestRuns[n].ExecutionDefects[m].Description}
        Key: ${TestRuns[n].ExecutionDefects[m].Key}
        Summary: ${TestRuns[n].ExecutionDefects[m].Summary}
    #{end}
 
    // Iterating over test steps for each test run
    Test Steps Total: ${TestRuns[n].TestStepsCount}
    #{for m=TestRuns[n].TestStepsCount}
        Action: ${wiki:TestRuns[n].TestSteps[m].Action}
        Comment: ${TestRuns[n].TestSteps[m].Comment}
        Data: ${wiki:TestRuns[n].TestSteps[m].Data}
        Expected Result: ${wiki:TestRuns[n].TestSteps[m].ExpectedResult}
        Actual Result: ${wiki:TestRuns[n].TestSteps[m].ActualResult}
        Status: ${TestRuns[n].TestSteps[m].Status}
        Step Number: ${TestRuns[n].TestSteps[m].StepNumber}
 
        // Iterating over attachments for each test step
        Test Steps Attachments Count: ${TestRuns[n].TestSteps[m].AttachmentsCount}
        #{for l=TestRuns[n].TestSteps[m].AttachmentsCount}
            Id: ${TestRuns[n].TestSteps[m].Attachments[l].Id}
            Name: ${TestRuns[n].TestSteps[m].Attachments[l].Name}
            Attachment Image: ${TestRuns[n].TestSteps[m].Attachments[l].Attachment}
        #{end}
 
        // Iterating over evidences for each test step
        Test Steps Evidences Count: ${TestRuns[n].TestSteps[m].EvidencesCount}
        #{for l=TestRuns[n].TestSteps[m].EvidencesCount}
            Id: ${TestRuns[n].TestSteps[m].Evidences[l].Id}
            Name: ${TestRuns[n].TestSteps[m].Evidences[l].Name}
			File URL: ${TestRuns[n].TestSteps[m].Evidences[l].FileURL}
            Image: ${TestRuns[n].TestSteps[m].Evidences[l].Evidence}
        #{end}
 
        // Iterating over defects for each test step
        Test Steps Evidences Count: ${TestRuns[n].TestSteps[m].DefectsCount}
        #{for l=TestRuns[n].TestSteps[m].DefectsCount}
            Description: ${TestRuns[n].TestSteps[m].Defects[l].Description}
            Id: ${TestRuns[n].TestSteps[m].Defects[l].Id}
            Key: ${TestRuns[n].TestSteps[m].Defects[l].Key}
            Summary: ${TestRuns[n].TestSteps[m].Defects[l].Summary}
        #{end}
    #{end}
#{end}
```

## Example

[This Word document](https://docsxporter.atlassian.net/wiki/download/attachments/560192/Xray_Test_Executions.docx?version=1&modificationDate=1694009202533&cacheVersion=1&api=v2) is an example of how all the mappings available to export from a Test Execution look.

## Exporting Parameterized Tests from a Test Run

To export all this data, first, you need to execute the Test Run. If you change any data, you need to return to the Execution page and merge it with the new data.

| **Fields** | **Description** |
| --- | --- |
| ParametersCount | Total of parameters declared in the dataset |
| IsDataDriven | Returns "true" if the current test run is data-driven; otherwise, it returns "false" |
| IterationsOverallExecutionStatus | List of all the statuses in the current test run iteration and their percentages |
| IterationsOverallExecutionStatus.STATUS.Count | The number of STATUS in the test run iterations |
| Iterations Overall Execution Status.STATUS.Percentage | The percentage of STATUS in the test run iterations |
| Parameters | List of the parameters from each test run iteration |

> ℹ️ **Data-driven**
> ℹ️ 
> ℹ️ The field *IsDataDriven* is going to return "TRUE" only if the test run has more than one iteration.

### Exporting Test Runs Parameters from a Test Execution

For each Test Run parameter, you can export these fields:

- Key.
- Value.

Below, you can find an example of how to iterate over the list of Test Run Parameters associated with a Test Execution.

```
// Iterating each test run
#{for testruns}
	// Iterating over parameters for each test run
    Parameters Total: ${TestRuns[n].ParametersCount}
	#{for m=TestRuns[n].ParametersCount}
        Key: ${TestRuns[n].Parameters[m].Key}
        Value: ${TestRuns[n].Parameters[m].Value}
    #{end}
#{end}
```

### Exporting Test Runs Preconditions from a Test Execution

Below, you can find an example of how to iterate over the list of Test Run Preconditions associated with a Test Execution.

```
// Iterating each test run
#{for testruns}
    // Iterating over Preconditions for each test run
    #{for l=TestRuns[n].PreConditionsCount}
        Definition: ${TestRuns[n].PreConditions[l].PreCondition.Definition}
        Type: ${TestRuns[n].PreConditions[l].PreCondition.Type}
    #{end}
#{end}
```

### Exporting Test Runs Iterations from a Test Execution

For each Test Run Iteration, you can export these fields:

- Overall Execution Status.
- Parameters from Test Run Iterations
- Test steps from Test Run Iterations

Below, you can find an example of how to iterate over the list of Test Run Iterations associated with a Test Execution.

##### **Some mappings we can export from Test Run Iterations**

```
// Iterating each test run
#{for testruns}
	IsDataDriven: ${TestRuns[n].IsDataDriven}	
	
	// Iterations Overall Execution Status (percentage + total of tests per status)
	List of Statuses: ${TestRuns[n].IterationsOverallExecutionStatus}
	TO DO: ${TestRuns[n].IterationsOverallExecutionStatus.TO DO.Percentage}% - ${TestRuns[n].IterationsOverallExecutionStatus.TO DO.Count}
    EXECUTING: ${TestRuns[n].IterationsOverallExecutionStatus.EXECUTING.Percentage}% - ${TestRuns[n].IterationsOverallExecutionStatus.EXECUTING.Count}
    PASSED: ${TestRuns[n].IterationsOverallExecutionStatus.PASSED.Percentage}% - ${TestRuns[n].IterationsOverallExecutionStatus.PASSED.Count}
    FAILED: ${TestRuns[n].IterationsOverallExecutionStatus.FAILED.Percentage}% - ${TestRuns[n].IterationsOverallExecutionStatus.FAILED.Count}
    ABORTED: ${TestRuns[n].IterationsOverallExecutionStatus.ABORTED.Percentage}% - ${TestRuns[n].IterationsOverallExecutionStatus.ABORTED.Count}

	// Iterating over test runs iterations
    Total of Iterations from a Test Run: ${TestRuns[n].IterationsCount}
	#{for m=TestRuns[n].IterationsCount}
		Name: ${TestRuns[n].Iterations[m].Name}
		Status: ${TestRuns[n].Iterations[m].Status}
		Parameters: ${TestRuns[n].Iterations[m].Parameters}

		// Iterating over parameters for each test run iteration
		Parameters Total: ${TestRuns[n].Iterations[m].ParametersCount}
		#{for l=TestRuns[n].Iterations[m].ParametersCount}
			Key: ${TestRuns[n].Iterations[m].Parameters[l].Key}
			Value: ${TestRuns[n].Iterations[m].Parameters[l].Value}
		#{end}

		// Iterating over preconditions for each test run iteration
    	Preconditions Total: ${TestRuns[n].Iterations[m].PreConditionsCount}
		#{for l=TestRuns[n].Iterations[m].PreConditionsCount}
     	    Definition: ${TestRuns[n].Iterations[m].PreConditions[l].PreCondition.Definition}
    	    Type: ${TestRuns[n].Iterations[m].PreConditions[l].PreCondition.Type}
    	#{end}

		//Iterating over test steps for each test run iteration
		#{for i=TestRuns[n].Iterations[m].TestStepsCount}
			Step Number: ${TestRuns[n].Iterations[m].TestSteps[i].StepNumber}
			Action: ${TestRuns[n].Iterations[m].TestSteps[i].Action}
			Data: ${TestRuns[n].Iterations[m].TestSteps[i].Data}
			Expected Result: ${TestRuns[n].Iterations[m].TestSteps[i].ExpectedResult}
			Status: ${TestRuns[n].Iterations[m].TestSteps[i].Status}
			Comment: ${TestRuns[n].Iterations[m].TestSteps[i].Comment}
			Actual Result: ${TestRuns[n].Iterations[m].TestSteps[i].ActualResult}
			
			// Iteration Test Step Attachments
			#{for l=TestRuns[n].Iterations[m].TestSteps[i].AttachmentsCount}
				Id: ${TestRuns[n].Iterations[m].TestSteps[i].Attachments[l].Id}
				Name: ${TestRuns[n].Iterations[m].TestSteps[i].Attachments[l].Name}
				Image: ${TestRuns[n].Iterations[m].TestSteps[i].Attachments[l].Attachment}
				FileURL: ${TestRuns[n].Iterations[m].TestSteps[i].Attachments[l].FileURL}
			#{end}
			// Iteration Test Step Evidences
			#{for l=TestRuns[n].Iterations[m].TestSteps[i].EvidencesCount}
				Id: ${TestRuns[n].Iterations[m].TestSteps[i].Evidences[l].Id}
				Name: ${TestRuns[n].Iterations[m].TestSteps[i].Evidences[l].Name}
				File URL: ${TestRuns[n].Iterations[m].TestSteps[i].Evidences[l].FileURL}
				Evidence: ${TestRuns[n].Iterations[m].TestSteps[i].Evidences[l].Evidence}
			#{end}
			// Iteration Test Step Defects
			#{for l=TestRuns[n].Iterations[m].TestSteps[i].DefectsCount}
				Description: ${TestRuns[n].Iterations[m].TestSteps[i].Defects[l].Description}
				Id: ${TestRuns[n].Iterations[m].TestSteps[i].Defects[l].Id}
				Key: ${TestRuns[n].Iterations[m].TestSteps[i].Defects[l].Key}
				Summary: ${TestRuns[n].Iterations[m].TestSteps[i].Defects[l].Summary}
			#{end}
		#{end}
	#{end}
#{end}
```

## Example

[This Word document](https://docsxporter.atlassian.net/wiki/download/attachments/560192/Xray_Param_Test_Executions.docx?version=1&modificationDate=1694009202752&cacheVersion=1&api=v2) is an example of how all the mappings available to export from a Test Execution look.

<details>
<summary>Support/Troubleshooting</summary>

If you have questions or technical issues, please [contact the Support team via the Customer Portal (Jira service management)](https://jira.getxray.app/servicedesk/customer/portal/2/user/login?destination=portal%2F2%2Fcreate%2F28) or [send us a message using the in-app chat](https://docs.getxporter.app/space/XPORTERCLOUD/18251779/In-App+Chat+Support).
</details>