Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Table of Contents

From a Test Execution, it's possible to export the following Xray data: Tests, Test Runs and Test Plans.

All fields listed here are available because the Test Execution is a regular JIRA issue. In addition, you can export the following fields:

Code Block
titleSome mappings we can export from a Test Execution
Test Environments: ${TestEnvironments}

#Overall Execution Status (percentage + total of testes 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 Tests from a Test Execution

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

Code Block
titleIterate over tests
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
 
// 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}
Info

For more detailed information on how to export Tests and its information please check the documentation.

Exporting Test Plans from a Test Execution

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

Code Block
titleIterate over test plans
Total number of associated test plans: ${TestPlansCount}

// Iterating each test plan
#{for testPlans}
	Summary: ${TestPlans[n].Summary}
#{end}
 
or
 
// Iterating each test plan
#{for j=TestPlansCount}
	Description: ${TestPlans[j].Description}
#{end}
Info

For more detailed information on how to export Test Plans and its information please check the documentation.

Exporting Test Runs from a Test Execution

All fields listed here are available and will refer to the test execution associated. In addition, you can export the following 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 ScenarioThe cucumber definition of the test run
Executed ByThe user's ID that executed the test execution.
Execution StatusThe status of the test execution.
Started OnThe started date of the test execution.
Finished OnThe end date of the test execution.
ExecutionEvidencesCountThe number of execution evidences.
ExecutionDefectsCountThe number of execution defects.
TestStepsCountThe test execution's steps count.
TestTypeThe test execution's test type.
TestStepsDefectsCountThe number of defects for all test steps.

Test Run Custom Fields

Xporter supports custom fields for Test Runs. To use your own defined custom fields, just use the same notation:

${<Custom field name>}
Info

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

Code Block
titleIterate 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}

The word document below shows an example with all the mappings available to export from a TestExecution:

Xray_Test_Executions.docx

Exporting Parameterized Tests from a Test Run

To export all this data, we first need to execute the test run. If we change any data, we need to return to the Execution Page and merge it with the new data.

FieldsDescription
ParametersCountTotal of Parameters declared in 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.CountThe number of STATUS in the test run iterations
Iterations Overall Execution Status.STATUS.PercentageThe percentage of STATUS in the test run iterations
ParametersList of the parameters from each test run iteration
Info
titleData-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 the following 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.

Code Block
titleSome mappings we can export from Test Runs Parameters
// 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 Iterations from a Test Execution

For each Test Run Iteration you can export the following 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.

Code Block
titleSome 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 testes per status)
	List of Statuses: ${TestRuns[n].IterationsOverallExecutionStatus}
	TO DO: ${TestRuns[n].IterationsOverallExecutionStatus.TO DO.Percentage}% - ${TestRuns[n].Iterations Overall Execution Status.TO DO.Count}
    EXECUTING: ${TestRuns[n].IterationsOverallExecutionStatus.EXECUTING.Percentage}% - ${TestRuns[n].Iterations Overall Execution Status.EXECUTING.Count}
    PASSED: ${TestRuns[n].IterationsOverallExecutionStatus.PASSED.Percentage}% - ${TestRuns[n].Iterations Overall Execution Status.PASSED.Count}
    FAILED: ${TestRuns[n].IterationsOverallExecutionStatus.FAILED.Percentage}% - ${TestRuns[n].Iterations Overall Execution Status.FAILED.Count}
    ABORTED: ${TestRuns[n].IterationsOverallExecutionStatus.ABORTED.Percentage}% - ${TestRuns[n].Iterations Overall Execution Status.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}

The word document below shows an example with all the mappings available to export from a TestExecution:

Xray_Param_Test_Executions.docx


Info

Status
colourBlue
titleWiki
indicates that the field supports the wiki format. More about here.