GitHub

Bitrise上でDetoxテストの実行

Detoxとはモバイルアプリ用グレーボックスのエンドツーエンドテストで、オートメーションライブラリのことです。現在、React Nativeを使用して開発されたiOS, Androidアプリ両方に対応しています。BitriseでReact Nativeアプリをお持ちなら、Detoxテストを実行できます。

構成例を見るには、Bitriseのサンプルアプリを参照してください!

Detoxを実行するには:

が必要になります。

プロジェクト用にDetoxをインストールとセットアップを行います。Homebrew、Node.js、applesimutil、ならびにDetox command line toolsをインストールする必要があります。ご自身のプロジェクトにDetoxを追加してから、ローカルでDetoxテストを作成・実行してください。

完了すれば、Bitrise上でDetox構成のプロジェクトのテストが行えます:

Detoxを使ったビデオ録画

Detoxを使ったビデオ録画はBitriseでは対応しておりませんDetoxはハードウェアアクセラレーションが必要ですが当社の(ビルドのバーチャルマシンが走る)マシンには物理的なGPUがありません。それゆえハードウェアアクセラレーションを作動させることはできません。

  1. detoxセクションの下にある、package.json内でrelease device configurationを作成します。

    例:

    "detox": {
     "configurations": {
       "ios.sim.debug": {
         "binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/SampleProjectReactNative.app",
         "build": "xcodebuild -project ios/SampleProjectReactNative.xcodeproj -scheme SampleProjectReactNative -configuration Debug -sdk iphonesimulator -derivedDataPath ios/build -UseNewBuildSystem=NO",
         "type": "ios.simulator",
         "name": "iPhone 8"
       },
       "ios.sim.release": {
         "binaryPath": "ios/build/Build/Products/Release-iphonesimulator/SampleProjectReactNative.app",
         "build": "xcodebuild -project ios/SampleProjectReactNative.xcodeproj -scheme SampleProjectReactNative -configuration Release -sdk iphonesimulator -derivedDataPath ios/build -UseNewBuildSystem=NO",
         "type": "ios.simulator",
         "name": "iPhone 8"
       }
     },
    
  2. bitrise.ioにて、ご自身のプロジェクトに進んでWorkflow Editorを開きます。
  3. 使用したいワークフローに切り替えます。
  4. ワークフローにRun npm commandを追加します。
  5. The npm command with arguments to runインプットにDetox install commandを追加します。

    install -g detox-cli
    
  6. test runnerをインストールします。
    例えば、Bitriseのサンプルアプリではmochaを使用しており、yarnステップを使ってインストールされます。yarn 依存性をインストールするには、The yarn command to runインプットの値をinstallに設定します。
  7. Scriptステップを追加します。必要なutilitiesをインストールしてからDetoxを走らせてください。

    #!/bin/bash
       
    # applesimutils is a collection of utils for Apple simulators
    brew tap wix/brew
    brew install applesimutils
       
    # we are building and testing a release device configuration
    detox build --configuration ios.sim.release
    detox test --configuration ios.sim.release --cleanup
    

    モジュール性のために別々のScriptステップにそれぞれのコマンドを配置することも可能です。

  8. ビルドを開始してください!

ビルドが失敗する場合、Bitriseの__**bitrise.yml**ファイルの例を確認してください。**

---
workflows:
  primary:
    steps:
    - activate-ssh-key: {}
    - git-clone:
        inputs:
        - clone_depth: ''
        title: Git Clone Repo
    - yarn@0.0.8:
        inputs:
        - command: install
    - npm@1.0.1:
        inputs:
        - command: install -g detox-cli
        title: Install Detox CLI
    - script@1.1.5:
        inputs:
        - content: |-
            #!/bin/bash
            brew tap wix/brew
            brew install applesimutils
            
            detox build --configuration ios.sim.release
            detox test --configuration ios.sim.release --cleanup
        title: Detox - Build and Test Release App
    - deploy-to-bitrise-io@1.3.18: {}