A Comprehensive Appium Guide for Hybrid App Automation Testing.pdf
Cross Platform Mobile Automation with Calabash on Cloud and More
1. Mobile Automation
--- Calabash ---
Mobile Automation, Calabash, Cucumber, Android, iOS, Xamarin, AWS Device
Farm, C/CD, Jenkins, Frameworks, Cross-Platforms, POM, Reporting, and more
. . .
2. Mesut Güneş - QA Engineer at VNGRS
Skill A 90%
Skill B 85%
Skill C 83%
Skill D 65%
3. Mesut Güneş - www.testrisk.com
Calabash
● Behaviour Driven test framework for Mobile automation
● Open-Sourced project: Calabash-android and Calabash-ios
● Supports iOS and Android and Hybrid Apps (Webviews) - (Crossplatform)
● Supports simulators / emulators / real devices
● Supports CI / CD and Clouds - (CLI tools)
● Ruby Based
● Integrated Cucumber
● Calabash Console for real time automation development
4. Mesut Güneş - www.testrisk.com
Calabash Architecture
● Calabash-android server
● Device Agent Server
● Calabash-ios server
5. Mesut Güneş - www.testrisk.com
Calabash Architecture - Android
6. Mesut Güneş - www.testrisk.com
Calabash Architecture - iOS
7. Mesut Güneş - www.testrisk.com
BDD - Behaviour Driven Development
BDD, which is stand for Behaviour Driven Development, is created
by Dan North. BDD is developed on the top of TDD, which is stand for
Test Driven Development to remove the gap between unit testing
and acceptance testing. In TDD, every unit is started to be written
right after defining the expectations from the units, with the unit
testing. However by BDD, regarding the agile story, every unit is
specified and tested in terms of desired behaviour. This 'desired
behaviour' is what exactly business requires in agile stories.
8. Mesut Güneş - www.testrisk.com
Cucumber
imperative VS declarative
9. Mesut Güneş - www.testrisk.com
Calabash VS Appium
● Appium Support Many Languages But Calabash is RUBY!
● Appium Doesn't Need Building but Calabash Needs Building iOS App
● Appium Uses Selenium Server But Calabash Uses Calabash Server
● Appium Has Inspector But Calabash Has Console
● Appium Can be BDD but Calabash Has Built-in BDD
● Appium is a Single Project But Calabash Has Two
● Appium can Drive Browser but Calabash Supports WebView
10. Mesut Güneş - www.testrisk.com
Query - Object Finding
11. Mesut Güneş - www.testrisk.com
● Go to project:
○ ./run.rb android features
○ ./run.rb ios-simulator features
○ ./run.rb ios features (.ipa should be certified)
Demo Time - Local Run
12. Mesut Güneş - www.testrisk.com
● Build The Project
Demo Time - Jenkins Parallel Run
13. Mesut Güneş - www.testrisk.com
● Build The Project
Demo Time - Jenkins Parallel Run
14. Mesut Güneş - www.testrisk.com
● Build The Project
Demo Time - Jenkins Parallel Run
15. Mesut Güneş - www.testrisk.com
● Build The Project
Demo Time - Jenkins Parallel Run
16. Mesut Güneş - www.testrisk.com
● Run by CLI
○ ~/P/p/t/x-platform-example (master ⚡☡=) appcenter test run
calabash --app "gunesmes/testhive-android" --devices
"gunesmes/pixel-check" --app-path prebuilt/omgshop.apk --test-
series "master" --locale "en_US" --project-dir . --config-path
config/cucumber.yml --profile android
● Check the result
○ Further error details: For help, please send both the reported
error above and the following environment information to us by
going to https://appcenter.ms/apps and starting a new
conversation.
Demo Time - App-Center (Xamarin formerly)
17. Mesut Güneş - www.testrisk.com
Demo Time - App-Center (Xamarin formerly)
18. Mesut Güneş - www.testrisk.com
● Convert the x-platform project to generic Calabash project. Amazon only
supports the generic Calabash projects.
○ bash converter.sh
○ testhive/calabash-generic/ios.zip
○ testhive/calabash-generic/android.zip
● Submit
○ To submit to the project to Device Farm go to LINK and submit one
of the .zip file:
○ LINK: https://signin.aws.amazon.com/console
Demo Time - Amazon Device Farm
19. Mesut Güneş - www.testrisk.com
● Convert the x-platform project to generic Calabash project
○ bash converter.sh
● Submit
○ To submit to the project to Device Farm go to LINK and submit one
of the .zip file:
○ LINK: https://signin.aws.amazon.com/console
Demo Time - Amazon Device Farm
20. Mesut Güneş - www.testrisk.com
Demo Time - Amazon Device Farm