Robot framework XML report
About Robot framework

Robot is a testing framework inspired from JUnit and NUnit but introducing some new functionalities that make it more powerful and easier to use, such as annotations, flexible test configurations, support for data-driven testing, and so much more.
Common structure
In a basic TestNG report, you should find common tags depicting test suites and test cases.
To visualize the structure more clearly, let’s take a look at the diagram below.
-20241211-034333.png?inst-v=e3835335-d0be-4f4c-a82c-c62b3d80caa9)
Robot test report structure diagram
How Agile Test would parse a Robot report
In AgileTest, all test cases imported using the automation feature are classified as Generic Tests.
Imported test cases are distinguished by the name
attributes of the <suite>
and <test>
elements, following the format: name of <suite> element + '.' + name of <test> element
.
This combination is referred to as the Test Definition in Agile Test and can be found just below the Description area of the test case ticket. The Summary of each test case issue is based on the value of the name
attribute.
Supported status attribute
In Robot XML report, executed test cases are marked with <status>
elements containing status attribute inside blocks of <kw>
.
<kw name="Open Browser" library="SeleniumLibrary">
<arguments>
<arg>https://example.com</arg>
<arg>Chrome</arg>
</arguments>
<status status="PASS" starttime="20241220 10:01:05.000" endtime="20241220 10:01:10.000"/>
</kw>
Test case’s status will be calculated based on step statuses.
Test run status attribute | Description |
---|---|
| PASSED → Test case yields the expected result. |
| FAILED → Test case returns the actual result not as expected. |
| BLOCKED → Test case is considered blocked due to a specific reason. |
| SKIPPED → Test case is skipped in the test run. |
| RETEST → Test case should be rerun again. |
| QUERY → The test case requires more details to have the final result. |
| TODO → Test case is not yet run. It’s the default status of every Test case in Agile Test. |
The priority of status tags in Agile Test is as follows:
failed > blocked > retest > skipped > query > passed (or no tag).
If multiple tags are added to a single <test>
element, the tag with the highest priority will be used as the test status in Agile Test.
Test result with attachments
Agile Test supports 2 customized structures for integrating attachments into your test reports. Users can choose either option to upload test results along with evidence files.
1. Attachment element with name attribute and content inside
Element structure
<attachment name="filename"> base64 content </attachment>
Example
<test>
....
<attachments>
<attachment name="test.png">iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAQ0lEQVR42u3PQREAAAgDINc/9Mzg14MGZNrOAxERERERERERERERERERERERERERERERERERERERERERERERERERuVh9TJWdbWjzsQAAAABJRU5ErkJggg==</attachment>
</attachments>
</test>
2. Attachment element with separate name and content elements inside
Element structure
<attachment>
<name>filename</name>
<rawcontent> base64 content </rawcontent>
</attachment>
Example
<test>
....
<attachments>
<attachment>
<name>test.png</name>
<rawcontent>iVBORw0KGgoAAAANSUhEUgAAADIAAAAyCAYAAAAeP4ixAAAAQ0lEQVR42u3PQREAAAgDINc/9Mzg14MGZNrOAxERERERERERERERERERERERERERERERERERERERERERERERERERuVh9TJWdbWjzsQAAAABJRU5ErkJggg==</rawcontent>
</attachment>
</attachments>
</test>
Should you need any assistance or further AgileTest inquiries, please contact us here!