iOS
Bitrise
XCUITest

iOSアプリのUIテスト(XCUITest)をBitrise上で実行する

細かいところでハマったのでメモ。


Xcodeプロジェクト側の環境構築・テストコード実装


Xcodeプロジェクト側の追加設定


テスト対象のTargetにUITestのTargetを紐付ける


  • テスト対象のTargetの「Edit Scheme...」を選択する

    Screen_Shot_2019-02-11_at_1_38_07.jpg


  • TestにUITestのTargetを追加する

    Screen_Shot_2019-02-11_at_2_03_13.jpg


  • TestにUITestのTargetが追加されればOK

    Screen_Shot_2019-02-11_at_2_23_49.jpg


  • 上記の修正をリモートリポジトリへプッシュする



Bitrise側の設定


Bitrise側の追加設定


Workflowを修正してテスト実行できるようにする


  • Workflow Editorより、Run CocoaPods installやCarthageの後あたりに「Xcode Test for iOS」を追加する

    Screen_Shot_2019-02-11_at_2_40_51.jpg


  • (オプション)「Export UITest Artifacts」をtrueに変更する ※これを設定しておくとテスト結果をArtifactsに保存できる

    Screen_Shot_2019-02-11_at_2_46_59.jpg



Bitrise上でテスト(ビルド)を実行


  • テストが成功すると、コンソールログに以下のように表示される

    slack-imgs.jpg


  • テストが失敗した場合は、失敗した箇所のスクリーンショットやログがArtifactsに保存されるので、それを使って調査する