Document Generator allows you to get following data from the Xray Test:
Test Status
To get the status of the Test printed on the document you just need to put the following placeholder in your template:
${TestRunStatus}
Test Repository path
To get the path of the Test from the Test Repository Board printed on the document you just need to put the following placeholder in your template:
${TestRepositoryPath}
Iterating over Test Steps
Manual Test Steps
Definition:
$ {TestSteps[n].Field} |
n is the index of Test Step, starting from 0. The field TestStepsCount was created in order to give the total number of Test Steps. The fields available for Test Steps are:
- StepNumber
- Action
- Data
- ExpectedResult
Manual Test Steps Attachments
Document Generator allows rendering all Attachments of Manual Test Steps of a Test.
Definition:
$ {TestSteps[n].Attachments[m].Field} |
n is the index of Test Step and m is the index of the Attachment. The field AttachmentsCount was created in order to give the total number of Attachments. The fields available for Test Step Attachments are:
- ID
- Name
- Author
- AuthorFullName
- Created
- Size
- HumanReadableSize
- MimeType
- FileURL
Manual Test Steps Custom Fields
To export Test Steps Custom Fields you just have to define the placeholder with the name of your custom field.
Example: You have a custom field called "Run CF". To get the value printed on your document you just have to use the following placeholder:
#Iterating over Test Runs #{for teststeps} Run CF: ${TestSteps[n].Run CF} #{end}
If your custom field type is a Number, Data, or Date Time you can use formatting functions.
Pre-Conditions associated with a Test
Document Generator allows rendering of all the Pre-Conditions associated with a Test.
Definition:
$ {PreConditions[n].Field} |
n is the index of the Pre-Condition, starting from 0. The field PreConditionsCount or PreconditionsCount was created in order to give the total number of Pre-Conditions.
Since Pre-Condition is a Jira Issue, you can render all the normal mappings which you are used to.
Example:
Requirements associated with a Test
You can print all the Requirements associated with a Test using an Xray Enhanced querying JQL Function, where you input the given Test Key:
JQL Function:
testRequirements('${Key}') |
In order to give the total of Requirements associated with a given Test, you can use the following JQL Count statement, where you input the given Test Key:
${jqlcount:testRequirements('${Key}')} |
n is the index of the Pre-Condition, starting from 0. The field PreConditionsCount was created in order to give the total number of Pre-Conditions.
Since a Requirement is a Jira Issue, you can render all the normal mappings which you are used to.
Example:
You can also Iterate over all the Requirements associated with a Test while iterating over all Tests of a Test Set.
Test Plans associated with a Test
Definition:
$ {TestPlans[n].Field} |
n is the index of the Test Plan, starting from 0. The field TestPlansCount was created in order to give the total number of Test Plans.
Since a Test Plan is a Jira Issue, you can render all the normal mappings which you are used to.
Example:
Test Runs associated with a Test
Definition:
$ {TestRuns[n].Field} |
n is the index of the Test Run, starting from 0. The field TestRunsCount was created in order to give the total number of Test Runs.
Example:
Exporting Test Runs custom fields
To export Test Runs Custom Fields you just have to defined the placeholder with the name of you custom field.
Example: Image that you have a custom field called "Run CF". To get the value printed on you document you just have to use the following placeholder:
#{for testruns} The Run CF value is: ${TestRuns[n].Run CF} #{end}
If your custom field type is a Number, Data or Date Time you can use formatting functions.
Exporting Test Runs Parameters from a Test
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.
// 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
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.
// 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].Iterations Overall Execution Status} TO DO: ${TestRuns[n].Iterations Overall Execution Status.TODO}% - ${TestRuns[n].Iterations Overall Execution Status.TODO.Count} EXECUTING: ${TestRuns[n].Iterations Overall Execution Status.EXECUTING}% - ${TestRuns[n].Iterations Overall Execution Status.EXECUTING.Count} PASSED: ${TestRuns[n].Iterations Overall Execution Status.PASS}% - ${TestRuns[n].Iterations Overall Execution Status.PASS.Count} FAILED: ${TestRuns[n].Iterations Overall Execution Status.FAIL}% - ${TestRuns[n].Iterations Overall Execution Status.FAIL.Count} ABORTED: ${TestRuns[n].Iterations Overall Execution Status.ABORTED}% - ${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].Conditions} 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} // Replace the placeholder text to export any custom field associated with the test step. Step Custom Field:${TestRuns[n].Iterations[m].TestSteps[i].<Step Custom Field>} // 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} 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}