Skip to main content

Referencing attachments in the JUnit XML

If you can't name the files after their test cases, reference them in the JUnit XML instead:

  1. Generate a JUnit.xml file from your tests.

    The general file structure should look something like this:

    <?xml version="1.0" encoding="UTF-8"?>
    <testsuites time="15.682687">
    <testsuite name="Tests.Registration" time="6.605871">
    <testcase name="testCase1" classname="Tests.Registration" time="2.113871" />
    </testsuite>
    </testsuites>
  2. Add a <properties> element to associate an attachment with a testcase.

    The name attribute of the element must be set with a value attachment_# where # is the ordered index of the attachment file, and the value is the filename. Bitrise will show attachments for any test with the attachment properties, but it's most common to only attach screenshots to failed tests. Mark a test as failed with a <failure> element.

    <testcase name="testCase1" classname="Tests.Registration" time="2.113871" />
    <failure message="Assertion error message" type="AssertionError">
    Call stack printed here
    </failure>
    <properties>
    <property name="attachment_1" value="pp1.jpg" />
    <property name="attachment_2" value="pp2.jpg" />
    </properties>
    </testcase>
  3. Add the Export test results to Test Reports Step to your Bitrise Workflow. It should be version 1.1.0 or higher.

  4. Set a test name in the The name of the test input.

  5. Set the path to your JUnit XML file in the Test result search pattern input.

  6. Add the Deploy to Bitrise.io Step to the end of your Workflow.

    You don't have to change the default input values.