web-dev-qa-db-ja.com

Xcode UI Testのスクリーンショットファイルはどこにありますか?

アプリのUIテスト中に作成されたスクリーンショットの場所を見つける方法に興味があります。 Fastlaneスナップショットがこのスクリーンショットを取得する方法を理解したいと思います。数時間の調査の後、私はそれらのスクリーンショットの場所を見つけることができません。

17
Robert

スクリーンショットは、派生データフォルダ内に保存されます。これを見つけるには、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

26
Oletha

Xcode 11では、.xcresultsファイルの内容が変更され、Finderで参照できるAttachmentsフォルダーが含まれなくなりました。 yoAlex5の回答に示されているように、テストレポートから個々の添付ファイルをダウンロードすることはできますが、Xcode GUIを使用せずに添付ファイルを取得するには、xcresulttoolまたは xcparse などのxcresulttoolを利用するサードパーティツールを使用する必要があります。詳細については、このブログ投稿を参照してください: https://www.chargepoint.com/engineering/xcparse/

8
GingerBreadMane

スクリーンショットはXcode -> Report navigator -> select your testにあります。

enter image description here

またはに行く

DerivedData -> ProjectName... -> Logs -> Test -> find .xcresult -> Show Package Contents -> Attachments
6
yoAlex5