読者です 読者をやめる 読者になる 読者になる

Xamarin 日本語情報

Xamarin(ザマリン) の代理店だったエクセルソフト田淵のブログです。主に Xamarin に関するエントリーをアップしていきます。(なるべく正しい有益な情報を掲載していきたいと考えていますが、このブログのエントリーは所属組織の公式見解ではありませんのでご注意ください)

Mac で calabash-ios のインストールと実行(Xamarin でも OK だしより簡単かも)

出来ました!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点です。

  1. プロジェクトの Components ディレクトリで右クリックし、Get More Components... から、Calabash を追加します。
    f:id:ytabuchi:20140422013125p:plain
  2. AppDelegate.cs ファイルの FinishedLaunching メソッドに
    #if DEBUG
    Xamarin.Calabash.Start();
    #endif
    
    を追加します。
  3. 文字入力をテストする UITextField は Calabash からアクセス出来るように、 Accessibility が Enabled にチェックされていて、Label が入力されている必要がありそうです。
    f:id:ytabuchi:20140422014318p:plain

 

これで準備は完了です。一度ビルドして 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

Calabash Ruby API | Xamarin