ラベル calabash の投稿を表示しています。 すべての投稿を表示
ラベル calabash の投稿を表示しています。 すべての投稿を表示

2014年4月8日火曜日

iOSのテストにおいてのAppiumとCalabashの比較(Comparing the Appium with the Calabash in the iOS test)

スマートフォンテストの自動化でappiumとcalabashのどちらを選ぶかで、迷っている人がいるかもしれない。基本的には、両方ともほとんど同じです。
実機でテストする手順はこんな感じです。

  1. Xcodeでアプリをビルドして実機にインストールする。
    (appiumでもIPAファイルからのテストは上手くいかないため。)
    追記;IPAファイルでのテストは、ビルドした時の署名によります。iPhone Developerによって作成されている場合は動きます。
  2. ruby等で作成されたフレームワークを通して、UIAutomationを操作する。
では、何が違うのか。
  1. In App Purchase等を行う際に出るシステムアラートを、appiumでは補足できるがcalabashでは補足できない。calabashでは、現在、実装中。それについて詳細に書かれているリンクはこちら
  2. フレームワークの便利メソッドを、自分で作成したクラスでも使う仕組みがappiumにはあるけど、calabashにはない。それぐらい自分で作れと言われれば、それまでですが。このメソッドです。Appium.promote_singleton_appium_methods
  3. calabashではテスト時にiphoneとpcで同様のネットワークにいる必要があるが、appiumでは特にそういった必要はない。 
  4. appiumではビルドしたappを外部から操作するが、calabashではappをコピーしたものにテストコードを埋め込んで操作することになる。
上記4点の理由から、私はAppiumをお勧めします。

2014年1月15日水曜日

calabashでiphoneの情報を確認

terminalで下のコマンドを打つ
DEVICE_ENDPOINT=http://172.17.4.221:37265 BUNDLE_ID=aaa.bbb.sdk.showcase DEVICE=iphone NO_LAUNCH=1 os=iOS7 calabash-ios console
irbモードになるので。
irb(main):001:0> server_version
結果
{
                        "outcome" => "SUCCESS",
                         "app_id" => "net.company.sdk.test",
               "simulator_device" => "",
                        "version" => "0.9.164",
                       "app_name" => "TestPlatform",
    "iphone_app_emulated_on_ipad" => false,
                          "4inch" => true,
                            "git" => {
        "remote_origin" => "git@github.com:calabash/calabash-ios-server.git",
               "branch" => "calabash-ios-server",
             "revision" => "293f926"
    },
                    "app_version" => "1.0",
                    "iOS_version" => "7.0",
                         "system" => "iPhone5,2",
                      "simulator" => ""
}

calabash-iosのiOS7でtouchが動かない

calabash-iosをiOS7で動作確認するとtouchが動かない。
なので、この一文をstes.rbに追加
  Given /^初期化$/ do 
    start_test_server_in_background if server_version["iOS_version"].to_i > 6
  end
コマンド
  DEVICE_ENDPOINT=http://172.17.4.221:37265 BUNDLE_ID=net.com.sdk.test DEVICE=iphone DEVICE_TARGET="99258c06b8ee15fd3e8b378efe5049c5fdbd2855" cucumber

2013年12月13日金曜日

calabashでkeyboardのlayoutをアルファベットに変更したい。

現在のキーボード情報を取得しつつ、それを元に英字のキーボードに変更する。 small-lettersは二種類あるから、おかしな実装になってしまった。
def change_keyboard
  case current_keyplane
  when "kana-plane"
    3.times { keyboard_enter_char("International"); sleep(1); }
  when "letters"
    keyboard_enter_char("International"); sleep(1);
  when "small-letters"
    keyboard_enter_char("International"); sleep(1);
    if current_keyplane == "kana-plane"
      3.times { keyboard_enter_char("International"); sleep(1); }
    elsif current_keyplane == "letters"
      keyboard_enter_char("International"); sleep(1);
    end
  end
end