出来ました!calabash-ios での自動テスト。これは楽しいです。
calabash-android がインストールできれば問題なくインストールできます。
Mac での calabash-android のインストールと実行(Xamarin も OK!)
をご覧頂き、calabash-android もインストールするか、前提条件を満たしておいてください。
Windows の方は Windows での calabash-android のインストールと実行 を。
ではインストールです。
$ sudo gem install calabash-cucumber
以上です。
もしかすると、10.9 では calabash-android の時と同様に
$ sudo ARCHFLAGS=-Wno-error=unused-command-line-argument-hard-error-in-future calabash-cucumber
とする必要があるかも知れません。
次に設定方法です。
Xamarin の iOS アプリをテストするには、プロジェクトに幾つか変更を加える必要があります。具体的には以下の 3点です。
- プロジェクトの Components ディレクトリで右クリックし、Get More Components... から、Calabash を追加します。
- AppDelegate.cs ファイルの FinishedLaunching メソッドに
#if DEBUG Xamarin.Calabash.Start(); #endif
を追加します。 -
文字入力をテストする UITextField は Calabash からアクセス出来るように、 Accessibility が Enabled にチェックされていて、Label が入力されている必要がありそうです。
これで準備は完了です。一度ビルドして Simulator で起動を確認したら、シェルでプロジェクトのディレクトリに移動します。
さあ、テストだ
後は calabash-android と同じように
calabash-ios gen
して、features ディレクトリに作成される my_first.feature を適切に編集しましょう。
calabash-android の書き方とは少しだけルールが違うようですので、要注意です。定義済みの STEP の書き方は
02 Predefined steps · calabash/calabash-ios Wiki · GitHub
を参照してください。
今回の例では、
Then I enter "This is test" into the "txt_textField" input field (This is test を txt_textField のラベルを指定した UITextField に入力) When I touch "Click Me!" (Click Me! ボタンをタッチ) Then I should see text starting with "Echo This is test on" (文字が Echo This is test on から始まってることを確認) Then take picture (画面写真取得)
としました。
文字入力のところがポチポチ動いて気持ちいいですw
ビデオを貼っておきます。一度設定できれば非常に簡単にテストを回せると思います。是非使ってみてください。
Mac の Xamarin で作成した iOS アプリを calabash-ios で自動テスト ...
参考サイト:
calabash/calabash-ios · GitHub
02 Predefined steps · calabash/calabash-ios Wiki · GitHub
Introduction to Calabash | Xamarin
Creating Calabash Tests | Xamarin