SlideShare a Scribd company logo
1 of 43
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, UkraineJustin Ison
 
Selenium Israel Meetup
Selenium Israel MeetupSelenium Israel Meetup
Selenium Israel MeetupJustin 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.0Anjan Dash
 
Uber Mobility Meetup: Mobile Testing
Uber Mobility Meetup:  Mobile TestingUber Mobility Meetup:  Mobile Testing
Uber Mobility Meetup: Mobile TestingApple 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, Rapid7Rapid7
 
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.
 
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-29Hugo 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 AppiumSrijan Technologies
 
Better With Friends: Android+NFC+Arduino
Better With Friends: Android+NFC+ArduinoBetter With Friends: Android+NFC+Arduino
Better With Friends: Android+NFC+ArduinoPearl Chen
 
Android testing
Android testingAndroid testing
Android testingBitbar
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitTina Su
 
Speed to Market in Mobile Development
Speed to Market in Mobile DevelopmentSpeed to Market in Mobile Development
Speed to Market in Mobile DevelopmentTina Su
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitTina Su
 
MOET: Mobile End-to-End Testing
MOET: Mobile End-to-End TestingMOET: Mobile End-to-End Testing
MOET: Mobile End-to-End Testingmobiletestsummit
 

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 to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabbereGrabber
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...naitiksharma1124
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAlluxio, Inc.
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Krakówbim.edu.pl
 
IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024vaibhav130304
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024Shane Coughlan
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems ApproachNeo4j
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...Alluxio, Inc.
 
CompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfCompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfFurqanuddin10
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfmbmh111980
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfMehmet Akar
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAlluxio, Inc.
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignNeo4j
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfsteffenkarlsson2
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesNeo4j
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdfkalichargn70th171
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Andrea Goulet
 
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdfMicrosoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdfQ-Advise
 

Recently uploaded (20)

How to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabberHow to install and activate eGrabber JobGrabber
How to install and activate eGrabber JobGrabber
 
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
COMPUTER AND ITS COMPONENTS PPT.by naitik sharma Class 9th A mittal internati...
 
AI Hackathon.pptx
AI                        Hackathon.pptxAI                        Hackathon.pptx
AI Hackathon.pptx
 
AI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning FrameworkAI/ML Infra Meetup | Perspective on Deep Learning Framework
AI/ML Infra Meetup | Perspective on Deep Learning Framework
 
Agnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in KrakówAgnieszka Andrzejewska - BIM School Course in Kraków
Agnieszka Andrzejewska - BIM School Course in Kraków
 
IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024IT Software Development Resume, Vaibhav jha 2024
IT Software Development Resume, Vaibhav jha 2024
 
OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024OpenChain @ LF Japan Executive Briefing - May 2024
OpenChain @ LF Japan Executive Briefing - May 2024
 
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
KLARNA -  Language Models and Knowledge Graphs: A Systems ApproachKLARNA -  Language Models and Knowledge Graphs: A Systems Approach
KLARNA - Language Models and Knowledge Graphs: A Systems Approach
 
5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand5 Reasons Driving Warehouse Management Systems Demand
5 Reasons Driving Warehouse Management Systems Demand
 
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
AI/ML Infra Meetup | Improve Speed and GPU Utilization for Model Training & S...
 
CompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdfCompTIA Security+ (Study Notes) for cs.pdf
CompTIA Security+ (Study Notes) for cs.pdf
 
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdfMastering Windows 7 A Comprehensive Guide for Power Users .pdf
Mastering Windows 7 A Comprehensive Guide for Power Users .pdf
 
how-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdfhow-to-download-files-safely-from-the-internet.pdf
how-to-download-files-safely-from-the-internet.pdf
 
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAGAI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
AI/ML Infra Meetup | Reducing Prefill for LLM Serving in RAG
 
INGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by DesignINGKA DIGITAL: Linked Metadata by Design
INGKA DIGITAL: Linked Metadata by Design
 
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdfStrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
StrimziCon 2024 - Transition to Apache Kafka on Kubernetes with Strimzi.pdf
 
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product UpdatesGraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
GraphSummit Stockholm - Neo4j - Knowledge Graphs and Product Updates
 
10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf10 Essential Software Testing Tools You Need to Know About.pdf
10 Essential Software Testing Tools You Need to Know About.pdf
 
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
Entropy, Software Quality, and Innovation (presented at Princeton Plasma Phys...
 
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdfMicrosoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
Microsoft 365 Copilot; An AI tool changing the world of work _PDF.pdf
 

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