Screenshots missing in artifacts

#1

We’re collecting screenshots when running Xcode UI tests. Before, they were collected inside of the deploy.zip as an artefact of the build. That zip file is still there, but the screenshots are not. AFAIK our build-config didn’t change in this regard. Any idea what happend here?

0 Likes

#2

Are you using Xcode 11 & the Xcode Test step? I don’t think the Xcode Test step has been updated to support Xcode 11 xcresults & so can’t get attachments/screenshots. I’ve created a ticket with them on GitHub to see how it can get added: https://github.com/bitrise-steplib/steps-xcode-test/issues/129

In the meanwhile, you may be able to use this:

- brew-install@0.9.0:
    inputs:
    - upgrade: 'no'
    - packages: ChargePoint/xcparse/xcparse
    title: Brew install xcparse
    is_always_run: true
- script@1.1.5:
    inputs:
    - content: |-
        #!/usr/bin/env bash

        # Extract Xcode 11 xcresult attachments
        echo $BITRISE_XCRESULT_PATH

        xcparse attachments "$BITRISE_XCRESULT_PATH" ./attachments

        cp -a ./attachments/. $BITRISE_DEPLOY_DIR

        zip -r xcresult.zip $BITRISE_XCRESULT_PATH
        cp xcresult.zip $BITRISE_DEPLOY_DIR
    title: Extract attachments
    is_always_run: true

This would use the xcparse Swift command line tool my company created for extracting screenshots/attachments out of Xcode 11 xcresult (https://github.com/ChargePoint/xcparse ). The README there has more info on all the options you could use (if you want screenshots specifically, you could use the “xcparse screenshots” command rather than “xcparse attachments”.

0 Likes