$30 off During Our Annual Pro Sale. View Details »

Appium vs Calabash on Native Mobile

Appium vs Calabash on Native Mobile

A comparison and sample tests using Appium and Calabash, the two front-runners of the mobile app test automation world.

Avatar for Mel Shafer

Mel Shafer

May 04, 2017
Tweet

Other Decks in Technology

Transcript

  1. Appium - screens - home_screen.py - login_screen.py - login_tests.py Project

    hierarchy, login test - using screen objects Calabash - calabash.framework - features - screens - home_screen.rb - login_screen.rb - step_definitions - account_steps.rb - login.feature
  2. Login test - Calabash results Feature: Login Scenario: Login with

    an existing account # features/login.feature:3 5368 KB/s (566958 bytes in 0.103s) 7291 KB/s (23320988 bytes in 3.123s) Given I login with credentials “mel-test”/“testtest” # features/step_definitions/calabash_steps.rb:5 Then I see the text "Featured" # calabash-android-0.5.14/lib/calabash-android/steps/assert_steps.rb:1 Then I click the navigation menu # features/step_definitions/calabash_steps.rb:12 And I see the text "Recently Watched" # calabash-android-0.5.14/lib/calabash-android/steps/assert_steps.rb:1 Success 1 scenario (1 passed) 4 steps (4 passed) 0m47.430s
  3. Login test - Appium results test_login (__main__.SmokeTests) ... DEBUG:ANDROID:Waiting for

    element (('id', 'home_activity_container')) to become visible. DEBUG:ANDROID:Waiting for element (('id', 'content')) to become visible. DEBUG:ANDROID:Waiting for element (('id', 'home_activity_container')) to become visible. DEBUG:ANDROID:Waiting for element (('id', 'home_app_bar_layout')) to become visible. DEBUG:ANDROID:Opening navigation drawer. DEBUG:ANDROID:Waiting for element (('id', 'Navigate up')) to become visible. DEBUG:ANDROID:Tapping element (android.widget.ImageButton). ... DEBUG:ANDROID:Waiting for element (('id', 'Navigation Options')) to become visible. ok ---------------------------------------------------------------------- Ran 1 test in 78.325s OK
  4. Appium - Already using WebDriver for desktop - Language flexibility

    - More active users/documentation Which is best for me? Calabash - Non-tech folks can write feature files - Write tests quickly, no code - Android/iOS can share feature files