iOSの自動ビルド/テストフローの設定に取り組んでいます。私が使用したいくつかのツールは、
- Bamboo CI (Jenkins など)
- ひょうたん
- チェックアウト/ビルド/テスト フローをラップする自作の bash
- テストを実行するための唯一のシミュレーター、今のところ実際のデバイスはありません
- 自動ビルド/テスト専用の Mac mini
高度なテスト ケースを並行して実行するには、複数のシミュレータを同時に実行する必要があります。このツールを使用して複数のシミュレーターを有効にしました (デフォルトでは、iOS シミュレーターは複数のインスタンスを許可しません)。今では、異なるユーザーの異なる VNC コンソールで自分の Mac mini に対してそれらを実行できます。
次に、Calabash iOS フレームワークが外部接続 (cucumber クライアント ライブラリ) のポート (37265) をハードコーディングしているように見えるという別の問題に遭遇しました。そのため、別のシミュレーター インスタンスが同じポート 127.0.0.1 で競合するため、まだ並行 Calabash テストを実行できません。 37265。
ただし、calabash-cucumber では、接続するテスト デバイス (またはシミュレーター) の ip:port を指定できます。別の ip をリッスンするシミュレーターを事前に作成し、アプリを明示的にロードして、cucumber に指定された ip:port に接続するように指示できれば、並行テストのアイデアはまだ機能しています。しかし、どうやら iOS シミュレーターは 127.0.0.1 インターフェイスをリッスンするようにハード コードされているようですね。指定されたネットワーク インターフェイスに自分自身をブリッジするようにシミュレーターに指示する方法はありますか? 可能であれば、複数のテスト ユーザーと複数のネットワーク インターフェイスをセットアップするだけで、iOS エミュレーターでの並列テストが可能になります。
ただし、間違った方法で行っている場合もお知らせください。ありがとう。