Bitriseでのデトックステストの実行

Detoxは、ReactNativeで構築されたモバイルアプリ用のグレーボックスエンドツーエンドテストおよび自動化ライブラリです。 iOSアプリとAndroidアプリの両方をサポートしています。 BitriseにReactNativeアプリがある場合は、デトックステストを実行できます。

始める前に

デトックスを実行するには、次のものが必要です。

  • macOSを搭載したMac(El Capitan 10.11以降のバージョン)。

  • Xcodeコマンドラインツールを備えたXcode8.3以降のバージョン。

  • 動作するReactNativeアプリ。

プロジェクトにDetoxをインストールしてセットアップします。 Homebrew、Node.js、applesimutils、およびDetoxコマンドラインツールをインストールする必要があります。プロジェクトにデトックスを追加してから、デトックステストをローカルで作成して実行します。 Androidアプリをお持ちの場合は、このガイド初期設定プロセスの後。

完了したら、BitriseでDetoxで構成されたプロジェクトをテストできます。

デトックステストの実行

  1. 内部にリリースデバイス構成を作成しますpackage.jsondetoxセクション。

    例:

    "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、プロジェクトに移動して、 ワークフローエディタ。

  3. 使用するワークフローに切り替えます。

  4. 追加するnpmコマンドを実行しますワークフローに進みます。

  5. デトックスインストールコマンドをに追加します 実行する引数を指定したnpmコマンド 入力:

     install -g detox-cli
  6. テストランナーをインストールします。

    例えば、 サンプルアプリ 用途 mocha、と一緒にインストール yarn ステップ。ヤーンの依存関係をインストールするには、 実行するyarnコマンド 入力の値を install

  7. 追加する 脚本 必要なユーティリティをインストールしてから、デトックスを実行します。

    #!/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

    もちろん、モジュール性のために、これらの各コマンドを別々のスクリプトステップに配置することもできます。

  8. ビルドを実行します。

ビルドが失敗した場合は、例を確認してください 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: {}
Troubleshootin

デトックステストのトラブルシューティング

BitriseでのDetoxの使用で問題が発生した場合は、テストを実行する前にDetoxパッケージ全体を再構築することをお勧めします。

これを行うには、Bitriseビルドで次のコマンドを実行します。

  npm rebuild detox

それでもデトックステストが失敗またはハングする場合は、サポートにお問い合わせください。