アプリのUIテスト中に作成されたスクリーンショットの場所を見つける方法に興味があります。 Fastlaneスナップショットがこのスクリーンショットを取得する方法を理解したいと思います。数時間の調査の後、私はそれらのスクリーンショットの場所を見つけることができません。
スクリーンショットは、派生データフォルダ内に保存されます。これを見つけるには、Xcode、ウィンドウ>プロジェクトに移動し、プロジェクトの派生データパスの横にある小さな矢印をクリックします。
プロジェクトから派生したデータフォルダー(その後に文字がたくさんあるフォルダーの名前である必要があります)から、Logs/Test
に移動します。
Testフォルダー内には、名前にUUIDが含まれるテストサマリー.plistファイル(テスト実行ごとに1つ)とAttachments
というフォルダーがあります。スクリーンショットはここにあります。
これらのフォルダのいずれかが存在しない場合は、最初にテストを実行したことを確認してください。
必要なスクリーンショットを見つけるには、* _TestSummaries.plistファイルを掘り下げる必要があります。 Xcodeで開き、関心のあるサブアクティビティまでテストの概要をたどります。一部のサブアクティビティにはスクリーンショットがなく、HasScreenshotData
キーがNO
に設定されます。
スクリーンショットデータを含むSubActivityを見つけたら、そのSubActivityのUUIDをAttachments
フォルダー内のスクリーンショットのファイル名と一致させます。
私のスクリーンショットは/Users/{username}/Library/Developer/Xcode/DerivedData/{project_name}-tywebfjsswmghapfjfbzhuazjf/Logs/Test/Attachments
にありました。
.plistで、次のパスをたどって、イベントのスクリーンショットデータの詳細を見つけました:TestableSummaries > Item 0 > Tests > Item 0 > Subtests > Item 0 > Subtests > Item 0 > ActivitySummaries > Item 1 > SubActivities > Item 0
。
Xcode 11では、.xcresultsファイルの内容が変更され、Finderで参照できるAttachmentsフォルダーが含まれなくなりました。 yoAlex5の回答に示されているように、テストレポートから個々の添付ファイルをダウンロードすることはできますが、Xcode GUIを使用せずに添付ファイルを取得するには、xcresulttoolまたは xcparse などのxcresulttoolを利用するサードパーティツールを使用する必要があります。詳細については、このブログ投稿を参照してください: https://www.chargepoint.com/engineering/xcparse/