UITestのスクリーンショットを一覧で見たい

iOSエンジニアの藤原です。

Xcode7の新機能で、UITest中に自動でスクリーンショットを撮影してくれるという機能があります。

しかし、スクリーンショットを見るためにはXCode上でいちいちプレビューボタンをクリックする必要があり、一覧性がありません。

そこで簡単なスクリプトを使ってスクリーンショットを一覧出来るようにしました。
 

スクリーンショット自動撮影

標準ではXcodeが撮影したスクリーンショットの表示方法は以下の様なものです。

UITest実行後、Test Navigatorで実行したテストを右クリックし、メニューから「Jump to Report」を選択
TestNavigator

レポート画面でテスト内容を展開していくと、右側に目のアイコンが表示される行があります。この目アイコンをクリックするとスクリーンショットが表示されます。
TestReport

しかし、いちいちアイコンをクリックして表示していくのでは一覧性に欠け、使い勝手がよくありません。
 

一覧作成

そこで、一覧を作成するスクリプトを書きました。
使い方は以下のとおりです。

  • 以下のスクリプトをプロジェクトのルートディレクトリに配置
  • plist gemをインストール
    • gem install plist
  • xcodebuild -derivedDataPath ‘./TestOutput’ を指定してxcode build testを実行
    • xcodebuild -workspace YourProject.xcworkspace -scheme "YourSchema" -sdk iphonesimulator -destination 'platform=iOS Simulator,name=iPhone 6s,OS=9.2' -derivedDataPath './TestOutput' test
    • schema, destinationなどは適宜変更してください。
  • 一覧作成スクリプトを実行
    • ruby summarize_test.rb
       

実行結果

スクリプトと同階層にtest_summary.html が生成されます。
以下のようにスクリーンショットがテスト実行順にソートされて表示されます。
screenshot_html

テスト中の画面遷移が把握できてとても便利だと思います。ぜひご利用ください。
 

最後に

マネーフォワードでは、エンジニアを絶賛募集しています。
ご応募お待ちしています。

【採用サイト】
マネーフォワード採用サイト
Wantedly | マネーフォワード

【プロダクト一覧】
家計簿アプリ・クラウド家計簿ソフト『マネーフォワード』
家計簿アプリ・クラウド家計簿ソフト『マネーフォワード』 iPhone,iPad
家計簿アプリ・クラウド家計簿ソフト『マネーフォワード』 Android
クラウド型会計ソフト『MFクラウド会計』
クラウド型請求書管理ソフト『MFクラウド請求書』
クラウド型給与計算ソフト『MFクラウド給与』
経費精算システム『MFクラウド経費』
消込ソフト・システム『MFクラウド消込』
マイナンバー対応『MFクラウドマイナンバー』
創業支援トータルサービス『MFクラウド創業支援サービス』
お金に関する正しい知識やお得な情報を発信するウェブメディア『マネトク!』

Pocket