Skip to content

Robot Framework XML Results

Getting Started

You can find the installation instructions for Robot Framework Python installed.

Settings, execution & exporting

When running your project, make sure to include --ouputDir results in the command to make it easier to zip them later:

robot --ouputDir results --report --output

After all the tests are completed, you can zip all the xml, png and html results together:

zip -r /results/*.xml;
zip -r /results/*.html;
zip -r /results/*.png;

Finally run the curl command to send your results to Calliope Pro

curl -X POST \
     -H "Content-Type:multipart/form-data" \
     -H "x-api-key:<API_KEY>" \
     -F "file[]" \
     -F "attachment[]" \
     -F "attachment[]" \
     -F "tag[]=robot_framework" \
     -F "tag[]=your_project" \
     -F "tag[]=build_version:123" \

Supported files

We accept the whole /results/ folder from RobotFramework:

  • output.xml
  • log.html (optional)
  • report.html (optional)
  • screenshot.png (we will automatically match attached filenames with the filenames used in output.xml)

  • Download our example file here: example_robotframework_report.xml{ download="" }

  • Official Robot Framework documentation: Robot Framework Repository


  • <robot> - The top-level element of a Robot Framework result file. The generator attribute is used to figure out the platform and OS. The generated attribute is used to determine the creation time if not set by the URL parameters.
  • <suite> - Suites will become the top-level container. Their id and source attributes are included in its description.
  • <test> - Tests are included as sub-containers of the above-mentioned top-level suites.
  • <kw> - Top-level keywords are the first results in test sub-containers. Consequent lower levels of <kw> elements are put in the description with a PASSED or FAILED tag prepended to them.
  • <doc> - Doc elements are included in the exception description and describe in more detail what a keyword does.
  • <msg> - Every keyword can include a multitude of <msg> elements. These are also included in the exception description. Their timestamp element is used to show when this message was thrown and their level element shows if this is just INFO or possibly a FAIL.
  • <status> - Determines the status of a certain keyword where the status attribute determines the status. The possible states are PASS or FAIL. The starttime and endtime attributes are used to determine the duration of a test.

Unsupported Features


Some <kw> elements include a list of arguments to show what kind of data was filled in for certain tests. When relevant, this information can be found back in the log.html file. This is why it's recommended to include the report.html and log.html file in the import.


The bottom of a Robot Framework report includes statistics. Calliope automatically generates these for you, therefore the statistics included in a Robot Framework report will be ignored.