SlideShare a Scribd company logo
Building an Advanced Automation
Solution based on Appium
Anton Sirota
QA Automation Expert
DataArt
About me
QA Automation Architect/TeamLead
Participated in more than 30 projects
Leader of QA Automation Community
Certified Trainer and Lector at DataArt QA School
The author of Automation courses
С#
Statistics
• Shift from QA to Quality Engineering
• IoT
• DevOps
• Big Data Testing
• Mobile Test Automation
• Open Source Tools adoption c
World Quality Report Summary
QA Automation statistic DataArt
33%
24%
18%
14%
6%
5%
Web API Mobile Performance DataBase Desktop
Tools Comparison
Appium Espresso XCUITest Calabash Selendroid Robotium
iOS + - + + - -
Android + + - + + +
Script Language Almost
any
Java ObjectiveC
/Swift
Ruby,
.NET, Java
Almost Any Java
Emulator + + + + + +
Real device + + + + + +
Same test for
two platforms
+ - - - - -
Cost Free Free Free Free Free Recorder -
paid.
Community Very
Active
Google Apple Average Average Average
Speed Slow Fast Fast Medium Slow Medium
Where is your pain?
Non-accessible elements
 Find coordinates to click and send keys
 Use tesseract tool to get needed text
For non-accessible elements
Bash scripts to reset all data before start
 Top hardware (ex. latest mac mini with SSD)
 Worse hardware - less parallel runs
Get better stability on emulators
Additional required actions
Open system settings
Start and stop and switch application
Change System Parameters (date, location, etc.)
Read and write files
Get system notifications
Use additional adb commands
Run Appium sever with -relaxedSecurity parameter
Use additional adb commands
Parallel tests execution
Parallel tests execution
Using Mobile Element
Using custom Mobile Element
Using the custom Mobile Element
AppObject methods
https://github.com/anton-sirota/appium_sample_seleniumcamp
Link
Mobile Automation a part of CI Process
1. Build Android Application
2. Upload build to cloud or file server
3. Run your tests always under the latest build
Android
1. Get 3rd party (CocoaPods, Carthage).
2. Fastlane:
2.1. Establish code signing and provisioning.
2.2. Make the build.
2.3. Upload the build on cloud or file server
2.4. Upload the build to TestFlight
3. Run your tests under the latest build
iOS
Tips and Tricks
Android Connection via wi-fi
N O T E : D E V I C E H A S T O B E I N T H E S A M E N E T W O R K A S Y O U R C O M P U T E R
26
• Connect your device via usb cable
• Get an ip address of your Android device
• Run in console: “adb tcpip 5555”
• Run in console: “adb connect your_phone_ip”
• Remove usb and run in console “adb devices” to make sure your
device is connected
N O T E : D E V I C E H A S T O B E I N T H E S A M E N E T W O R K A S Y O U R C O M P U T E R
27
iPhone connection via wi-fi
• Connect your device via usb cable
• Open your project in xcode
• Open devices list and find your device
• Click on the checkbox : "Connect via
network“
• Once done (*You'll see a globe icon in
front of device), remove the usb
DEMO
Case Study
Application to scan QR Codes
Challenges
• Scanner supposed to be connected to a real device and use it’s only one port
• Smoke suite needs to be automated
Solution based on Appium
• Connect real android device using Wi-Fi and run tests as usual
29
Case Study
Call quality verification
Challenges
• Make a call from one phone to the other
• Pass some voice (audio file) from one phone and record it on the other side
Solution based on Appium
• Use two real devices: one that enters the phone number and the second that answers
• Use custom cable and VLC command line to record the audio from the second device
30
Tips and Tricks for iOS Real device
Certificates
To be able to run tests on iOS real device you need to have:
• Apple’s developer account
• Certificate installed on your Mac machine
• Provision profile for an application you want to test
• Device should be included into provision profile
31
Real Device vs Emulator/Simulator
Real devices
Advantages Disadvantages
33
Good tests run time
Easy to setup (Android)
Stable long time testing on the same
device
Available: GPS, Network, Bluetooth,
Camera, Gyroscope
The real devices are costly compared
to the emulator/simulators
Maintenance of real devices (OS
updates, reboots, etc.)
Emulators/Simulators
34
Advantages Disadvantages
Mostly free
Easy to setup
Easy to debug
Can run many configurations
Sometimes behavior can be different
on real device and Emulator
It is slower as compared to actual
devices
No possibility to do performance
testing
Not all functions are present
What’s my choice?
Real Device Testing = Real Results 35
Real Devices Emulators/Simulators
Should be used on the most projects
with Native/Hybrid applications.
 Acceptable for Mobile Web
Applications testing
 Acceptable during the PoC stage
 Need to run under the many
configurations
Cloud Services
Cloud Services
37
Advantages of Cloud Services
38
• Don’t spend any time for environment setup and support
• Stable environment and test results
• On some cloud services tests run faster than locally
• Much easier and faster to setup multithreading
• You can use bunch of different configurations
• Mostly good support and help with problems solving
Parallel tests run
39
Real devices on Cloud Services
40
Useful Links
41
• https://appium.readthedocs.io/en/latest/en/writing-running-appium/android/android-shell/
• https://developer.android.com/studio/command-line/adb#shellcommands
• https://appiumpro.com/editions/54
• http://appium.io/docs/en/drivers/ios-xcuitest-real-devices/
• https://www.browserstack.com/app-automate
Q&A
Thank you!
Contacts:
Skype: yader-2007
E-mail: anton.sirota@qa-experts.com
About: https://qa-experts.com/anton.sirota

More Related Content

Similar to Building an advanced automation solution based on Appium

Selenium Camp 2016 - Kiev, Ukraine
Selenium Camp 2016 -  Kiev, UkraineSelenium Camp 2016 -  Kiev, Ukraine
Selenium Camp 2016 - Kiev, Ukraine
Justin Ison
 
Selenium Israel Meetup
Selenium Israel MeetupSelenium Israel Meetup
Selenium Israel Meetup
Justin Ison
 
Droid con slides 2013 mobileci-v1.0
Droid con slides 2013  mobileci-v1.0Droid con slides 2013  mobileci-v1.0
Droid con slides 2013 mobileci-v1.0
Anjan Dash
 
Uber Mobility Meetup: Mobile Testing
Uber Mobility Meetup:  Mobile TestingUber Mobility Meetup:  Mobile Testing
Uber Mobility Meetup: Mobile Testing
Apple Chow
 
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
Rapid7
 
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
Bitbar
 
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Intuit Inc.
 
Mobitop
MobitopMobitop
Mobitop
MobitopMobitop
Mobitop
MobitopMobitop
Mobitop
MobitopMobitop
Robotium at Android Only 2010-09-29
Robotium at Android Only 2010-09-29Robotium at Android Only 2010-09-29
Robotium at Android Only 2010-09-29
Hugo Josefson
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
Srijan Technologies
 
IOS ecosystem
IOS ecosystemIOS ecosystem
IOS ecosystem
Paolo Tagliani
 
Better With Friends: Android+NFC+Arduino
Better With Friends: Android+NFC+ArduinoBetter With Friends: Android+NFC+Arduino
Better With Friends: Android+NFC+Arduino
Pearl Chen
 
Android testing
Android testingAndroid testing
Android testing
Bitbar
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuit
Tina Su
 
Speed to Market in Mobile Development
Speed to Market in Mobile DevelopmentSpeed to Market in Mobile Development
Speed to Market in Mobile Development
Tina Su
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuit
Tina Su
 
MOET: Mobile End-to-End Testing
MOET: Mobile End-to-End TestingMOET: Mobile End-to-End Testing
MOET: Mobile End-to-End Testing
mobiletestsummit
 

Similar to Building an advanced automation solution based on Appium (20)

Selenium Camp 2016 - Kiev, Ukraine
Selenium Camp 2016 -  Kiev, UkraineSelenium Camp 2016 -  Kiev, Ukraine
Selenium Camp 2016 - Kiev, Ukraine
 
Selenium Israel Meetup
Selenium Israel MeetupSelenium Israel Meetup
Selenium Israel Meetup
 
Droid con slides 2013 mobileci-v1.0
Droid con slides 2013  mobileci-v1.0Droid con slides 2013  mobileci-v1.0
Droid con slides 2013 mobileci-v1.0
 
Uber Mobility Meetup: Mobile Testing
Uber Mobility Meetup:  Mobile TestingUber Mobility Meetup:  Mobile Testing
Uber Mobility Meetup: Mobile Testing
 
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
The Internet of Fails - Mark Stanislav, Senior Security Consultant, Rapid7
 
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
LDNSE: Testdroid for Mobile App and Web Testing (London Selenium Meetup)
 
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...Velocity Conference: Increasing Speed To Market In Mobile Development Through...
Velocity Conference: Increasing Speed To Market In Mobile Development Through...
 
Mobitop
MobitopMobitop
Mobitop
 
Mobitop
MobitopMobitop
Mobitop
 
Mobitop
MobitopMobitop
Mobitop
 
Mobitop
MobitopMobitop
Mobitop
 
Robotium at Android Only 2010-09-29
Robotium at Android Only 2010-09-29Robotium at Android Only 2010-09-29
Robotium at Android Only 2010-09-29
 
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
 
IOS ecosystem
IOS ecosystemIOS ecosystem
IOS ecosystem
 
Better With Friends: Android+NFC+Arduino
Better With Friends: Android+NFC+ArduinoBetter With Friends: Android+NFC+Arduino
Better With Friends: Android+NFC+Arduino
 
Android testing
Android testingAndroid testing
Android testing
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuit
 
Speed to Market in Mobile Development
Speed to Market in Mobile DevelopmentSpeed to Market in Mobile Development
Speed to Market in Mobile Development
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuit
 
MOET: Mobile End-to-End Testing
MOET: Mobile End-to-End TestingMOET: Mobile End-to-End Testing
MOET: Mobile End-to-End Testing
 

Recently uploaded

How GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdfHow GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdf
Zycus
 
Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)
alowpalsadig
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
ShulagnaSarkar2
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies
 
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery FleetStork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Vince Scalabrino
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
Maitrey Patel
 
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdfTheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
Ortus Solutions, Corp
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
kalichargn70th171
 
Refactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contextsRefactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contexts
Michał Kurzeja
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
campbellclarkson
 
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
manji sharman06
 
42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert
vaishalijagtap12
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
Reetu63
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
Alina Yurenko
 
Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
KrishnaveniMohan1
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
Tier1 app
 
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Ortus Solutions, Corp
 
Microsoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptxMicrosoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptx
jrodriguezq3110
 

Recently uploaded (20)

How GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdfHow GenAI Can Improve Supplier Performance Management.pdf
How GenAI Can Improve Supplier Performance Management.pdf
 
Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)Photoshop Tutorial for Beginners (2024 Edition)
Photoshop Tutorial for Beginners (2024 Edition)
 
14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision14 th Edition of International conference on computer vision
14 th Edition of International conference on computer vision
 
Upturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in NashikUpturn India Technologies - Web development company in Nashik
Upturn India Technologies - Web development company in Nashik
 
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery FleetStork Product Overview: An AI-Powered Autonomous Delivery Fleet
Stork Product Overview: An AI-Powered Autonomous Delivery Fleet
 
ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.ACE - Team 24 Wrapup event at ahmedabad.
ACE - Team 24 Wrapup event at ahmedabad.
 
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdfTheFutureIsDynamic-BoxLang-CFCamp2024.pdf
TheFutureIsDynamic-BoxLang-CFCamp2024.pdf
 
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdfThe Comprehensive Guide to Validating Audio-Visual Performances.pdf
The Comprehensive Guide to Validating Audio-Visual Performances.pdf
 
Refactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contextsRefactoring legacy systems using events commands and bubble contexts
Refactoring legacy systems using events commands and bubble contexts
 
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
🏎️Tech Transformation: DevOps Insights from the Experts 👩‍💻
 
bgiolcb
bgiolcbbgiolcb
bgiolcb
 
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
Call Girls Bangalore🔥7023059433🔥Best Profile Escorts in Bangalore Available 24/7
 
42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert42 Ways to Generate Real Estate Leads - Sellxpert
42 Ways to Generate Real Estate Leads - Sellxpert
 
ppt on the brain chip neuralink.pptx
ppt  on   the brain  chip neuralink.pptxppt  on   the brain  chip neuralink.pptx
ppt on the brain chip neuralink.pptx
 
Going AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applicationsGoing AOT: Everything you need to know about GraalVM for Java applications
Going AOT: Everything you need to know about GraalVM for Java applications
 
Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.Penify - Let AI do the Documentation, you write the Code.
Penify - Let AI do the Documentation, you write the Code.
 
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdfBaha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
Baha Majid WCA4Z IBM Z Customer Council Boston June 2024.pdf
 
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSISDECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
DECODING JAVA THREAD DUMPS: MASTER THE ART OF ANALYSIS
 
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
Strengthening Web Development with CommandBox 6: Seamless Transition and Scal...
 
Microsoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptxMicrosoft-Power-Platform-Adoption-Planning.pptx
Microsoft-Power-Platform-Adoption-Planning.pptx
 

Building an advanced automation solution based on Appium

  • 1. Building an Advanced Automation Solution based on Appium Anton Sirota QA Automation Expert DataArt
  • 2. About me QA Automation Architect/TeamLead Participated in more than 30 projects Leader of QA Automation Community Certified Trainer and Lector at DataArt QA School The author of Automation courses С#
  • 4. • Shift from QA to Quality Engineering • IoT • DevOps • Big Data Testing • Mobile Test Automation • Open Source Tools adoption c World Quality Report Summary
  • 5.
  • 6. QA Automation statistic DataArt 33% 24% 18% 14% 6% 5% Web API Mobile Performance DataBase Desktop
  • 7. Tools Comparison Appium Espresso XCUITest Calabash Selendroid Robotium iOS + - + + - - Android + + - + + + Script Language Almost any Java ObjectiveC /Swift Ruby, .NET, Java Almost Any Java Emulator + + + + + + Real device + + + + + + Same test for two platforms + - - - - - Cost Free Free Free Free Free Recorder - paid. Community Very Active Google Apple Average Average Average Speed Slow Fast Fast Medium Slow Medium
  • 10.  Find coordinates to click and send keys  Use tesseract tool to get needed text For non-accessible elements
  • 11. Bash scripts to reset all data before start  Top hardware (ex. latest mac mini with SSD)  Worse hardware - less parallel runs Get better stability on emulators
  • 12. Additional required actions Open system settings Start and stop and switch application Change System Parameters (date, location, etc.) Read and write files Get system notifications
  • 13. Use additional adb commands Run Appium sever with -relaxedSecurity parameter
  • 14. Use additional adb commands
  • 19. Using the custom Mobile Element
  • 22. Mobile Automation a part of CI Process
  • 23. 1. Build Android Application 2. Upload build to cloud or file server 3. Run your tests always under the latest build Android
  • 24. 1. Get 3rd party (CocoaPods, Carthage). 2. Fastlane: 2.1. Establish code signing and provisioning. 2.2. Make the build. 2.3. Upload the build on cloud or file server 2.4. Upload the build to TestFlight 3. Run your tests under the latest build iOS
  • 26. Android Connection via wi-fi N O T E : D E V I C E H A S T O B E I N T H E S A M E N E T W O R K A S Y O U R C O M P U T E R 26 • Connect your device via usb cable • Get an ip address of your Android device • Run in console: “adb tcpip 5555” • Run in console: “adb connect your_phone_ip” • Remove usb and run in console “adb devices” to make sure your device is connected
  • 27. N O T E : D E V I C E H A S T O B E I N T H E S A M E N E T W O R K A S Y O U R C O M P U T E R 27 iPhone connection via wi-fi • Connect your device via usb cable • Open your project in xcode • Open devices list and find your device • Click on the checkbox : "Connect via network“ • Once done (*You'll see a globe icon in front of device), remove the usb
  • 28. DEMO
  • 29. Case Study Application to scan QR Codes Challenges • Scanner supposed to be connected to a real device and use it’s only one port • Smoke suite needs to be automated Solution based on Appium • Connect real android device using Wi-Fi and run tests as usual 29
  • 30. Case Study Call quality verification Challenges • Make a call from one phone to the other • Pass some voice (audio file) from one phone and record it on the other side Solution based on Appium • Use two real devices: one that enters the phone number and the second that answers • Use custom cable and VLC command line to record the audio from the second device 30
  • 31. Tips and Tricks for iOS Real device Certificates To be able to run tests on iOS real device you need to have: • Apple’s developer account • Certificate installed on your Mac machine • Provision profile for an application you want to test • Device should be included into provision profile 31
  • 32. Real Device vs Emulator/Simulator
  • 33. Real devices Advantages Disadvantages 33 Good tests run time Easy to setup (Android) Stable long time testing on the same device Available: GPS, Network, Bluetooth, Camera, Gyroscope The real devices are costly compared to the emulator/simulators Maintenance of real devices (OS updates, reboots, etc.)
  • 34. Emulators/Simulators 34 Advantages Disadvantages Mostly free Easy to setup Easy to debug Can run many configurations Sometimes behavior can be different on real device and Emulator It is slower as compared to actual devices No possibility to do performance testing Not all functions are present
  • 35. What’s my choice? Real Device Testing = Real Results 35 Real Devices Emulators/Simulators Should be used on the most projects with Native/Hybrid applications.  Acceptable for Mobile Web Applications testing  Acceptable during the PoC stage  Need to run under the many configurations
  • 38. Advantages of Cloud Services 38 • Don’t spend any time for environment setup and support • Stable environment and test results • On some cloud services tests run faster than locally • Much easier and faster to setup multithreading • You can use bunch of different configurations • Mostly good support and help with problems solving
  • 40. Real devices on Cloud Services 40
  • 41. Useful Links 41 • https://appium.readthedocs.io/en/latest/en/writing-running-appium/android/android-shell/ • https://developer.android.com/studio/command-line/adb#shellcommands • https://appiumpro.com/editions/54 • http://appium.io/docs/en/drivers/ios-xcuitest-real-devices/ • https://www.browserstack.com/app-automate
  • 42. Q&A
  • 43. Thank you! Contacts: Skype: yader-2007 E-mail: anton.sirota@qa-experts.com About: https://qa-experts.com/anton.sirota