SlideShare ist ein Scribd-Unternehmen logo
1 von 43
Downloaden Sie, um offline zu lesen
Building an 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
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
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
NOTE: DEVICE HAS TO BE IN THE SAME NETWORK AS YOUR COMPUTER
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
NOTE: DEVICE HAS TO BE IN THE SAME NETWORK AS YOUR COMPUTER
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

Weitere ähnliche Inhalte

Was ist angesagt?

Android developer's toolbox
Android developer's toolboxAndroid developer's toolbox
Android developer's toolbox
Alex Verdyan
 

Was ist angesagt? (20)

2 years with Angular & Electron: Video Hub App 2
2 years with Angular & Electron: Video Hub App 22 years with Angular & Electron: Video Hub App 2
2 years with Angular & Electron: Video Hub App 2
 
SeeTestAutomation - Mobile Test Automation Tool by Experitest
SeeTestAutomation - Mobile Test Automation Tool by ExperitestSeeTestAutomation - Mobile Test Automation Tool by Experitest
SeeTestAutomation - Mobile Test Automation Tool by Experitest
 
Evernote release process
Evernote release processEvernote release process
Evernote release process
 
See test
See testSee test
See test
 
Android developer's toolbox
Android developer's toolboxAndroid developer's toolbox
Android developer's toolbox
 
Si fa presto a dire serverless
Si fa presto a dire serverlessSi fa presto a dire serverless
Si fa presto a dire serverless
 
SaaS Digital Assurance Lab
SaaS Digital Assurance LabSaaS Digital Assurance Lab
SaaS Digital Assurance Lab
 
Ranorex Studio - Introduction, Features & Limitations - Mobile Test Automati...
Ranorex Studio - Introduction, Features & Limitations -  Mobile Test Automati...Ranorex Studio - Introduction, Features & Limitations -  Mobile Test Automati...
Ranorex Studio - Introduction, Features & Limitations - Mobile Test Automati...
 
IOS ecosystem
IOS ecosystemIOS ecosystem
IOS ecosystem
 
CI: Meow or Never
CI: Meow or NeverCI: Meow or Never
CI: Meow or Never
 
Agile Testing Days 2018 USA - API Testing Fundamentals
Agile Testing Days 2018 USA - API Testing FundamentalsAgile Testing Days 2018 USA - API Testing Fundamentals
Agile Testing Days 2018 USA - API Testing Fundamentals
 
Kristoffer Nordstrom - Every System Test Department Should Have a Test Develo...
Kristoffer Nordstrom - Every System Test Department Should Have a Test Develo...Kristoffer Nordstrom - Every System Test Department Should Have a Test Develo...
Kristoffer Nordstrom - Every System Test Department Should Have a Test Develo...
 
Rapid software testing and conformance with static code analysis
Rapid software testing and conformance with static code analysisRapid software testing and conformance with static code analysis
Rapid software testing and conformance with static code analysis
 
Mobile Automation Using Appium - vodQA Bangalore 2015
Mobile Automation Using Appium - vodQA Bangalore 2015Mobile Automation Using Appium - vodQA Bangalore 2015
Mobile Automation Using Appium - vodQA Bangalore 2015
 
Testing distributed systems in production
Testing distributed systems in productionTesting distributed systems in production
Testing distributed systems in production
 
Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016Advanced Appium: SeleniumConf UK 2016
Advanced Appium: SeleniumConf UK 2016
 
Real Devices or Emulators: Wen to use What for Automated Testing
Real Devices or Emulators: Wen to use What for Automated TestingReal Devices or Emulators: Wen to use What for Automated Testing
Real Devices or Emulators: Wen to use What for Automated Testing
 
Oscon presentation
Oscon presentationOscon presentation
Oscon presentation
 
Speed up your Titanium app development with automated tests - TiConf EU 2014
Speed up your Titanium app development with automated tests - TiConf EU 2014Speed up your Titanium app development with automated tests - TiConf EU 2014
Speed up your Titanium app development with automated tests - TiConf EU 2014
 
Scaling your Automated Tests: Docker and Kubernetes
Scaling your Automated Tests: Docker and KubernetesScaling your Automated Tests: Docker and Kubernetes
Scaling your Automated Tests: Docker and Kubernetes
 

Ähnlich wie A. Sirota "Building an Automation Solution based on Appium"

Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuit
Tina Su
 
Velocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuitVelocity2013 mobile ci_intuit
Velocity2013 mobile ci_intuit
Tina Su
 
Continuous integration by Rémy Virin
Continuous integration by Rémy VirinContinuous integration by Rémy Virin
Continuous integration by Rémy Virin
CocoaHeads France
 
Ranjith kumar Nagisetty(AndiordApp and PostSiliconTest Engineer)_Resume
Ranjith kumar Nagisetty(AndiordApp and PostSiliconTest Engineer)_ResumeRanjith kumar Nagisetty(AndiordApp and PostSiliconTest Engineer)_Resume
Ranjith kumar Nagisetty(AndiordApp and PostSiliconTest Engineer)_Resume
ranjith nagisetty
 
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
 

Ähnlich wie A. Sirota "Building an 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
 
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)
 
Selenium Israel Meetup
Selenium Israel MeetupSelenium Israel Meetup
Selenium Israel Meetup
 
Uber Mobility Meetup: Mobile Testing
Uber Mobility Meetup:  Mobile TestingUber Mobility Meetup:  Mobile Testing
Uber Mobility Meetup: Mobile Testing
 
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
 
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...
 
[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
 
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
 
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
 
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
 
Continuous integration by Rémy Virin
Continuous integration by Rémy VirinContinuous integration by Rémy Virin
Continuous integration by Rémy Virin
 
Ranjith kumar Nagisetty(AndiordApp and PostSiliconTest Engineer)_Resume
Ranjith kumar Nagisetty(AndiordApp and PostSiliconTest Engineer)_ResumeRanjith kumar Nagisetty(AndiordApp and PostSiliconTest Engineer)_Resume
Ranjith kumar Nagisetty(AndiordApp and PostSiliconTest Engineer)_Resume
 
Better With Friends: Android+NFC+Arduino
Better With Friends: Android+NFC+ArduinoBetter With Friends: Android+NFC+Arduino
Better With Friends: Android+NFC+Arduino
 
Towards Continuous Delivery in Mobile Apps
Towards Continuous Delivery in Mobile AppsTowards Continuous Delivery in Mobile Apps
Towards Continuous Delivery in Mobile Apps
 
Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)
 
Android testing
Android testingAndroid testing
Android testing
 
Mobitop
MobitopMobitop
Mobitop
 
Mobitop
MobitopMobitop
Mobitop
 

Mehr von DataArt

Digital Marketing from inside
Digital Marketing from insideDigital Marketing from inside
Digital Marketing from inside
DataArt
 
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
DataArt
 

Mehr von DataArt (20)

DataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human ApproachDataArt Custom Software Engineering with a Human Approach
DataArt Custom Software Engineering with a Human Approach
 
DataArt Healthcare & Life Sciences
DataArt Healthcare & Life SciencesDataArt Healthcare & Life Sciences
DataArt Healthcare & Life Sciences
 
DataArt Financial Services and Capital Markets
DataArt Financial Services and Capital MarketsDataArt Financial Services and Capital Markets
DataArt Financial Services and Capital Markets
 
About DataArt HR Partners
About DataArt HR PartnersAbout DataArt HR Partners
About DataArt HR Partners
 
Event management в IT
Event management в ITEvent management в IT
Event management в IT
 
Digital Marketing from inside
Digital Marketing from insideDigital Marketing from inside
Digital Marketing from inside
 
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)What's new in Android, Igor Malytsky ( Google Post I|O Tour)
What's new in Android, Igor Malytsky ( Google Post I|O Tour)
 
DevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проектDevOps Workshop:Что бывает, когда DevOps приходит на проект
DevOps Workshop:Что бывает, когда DevOps приходит на проект
 
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArtIT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
IT Talk Kharkiv: «‎Soft skills в IT. Польза или вред? Максим Бастион, DataArt
 
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han... «Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
«Ноль копеек. Спастись от выгорания» — Сергей Чеботарев (Head of Design, Han...
 
Communication in QA's life
Communication in QA's lifeCommunication in QA's life
Communication in QA's life
 
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьмиНельзя просто так взять и договориться, или как мы работали со сложными людьми
Нельзя просто так взять и договориться, или как мы работали со сложными людьми
 
Знакомьтесь, DevOps
Знакомьтесь, DevOpsЗнакомьтесь, DevOps
Знакомьтесь, DevOps
 
DevOps in real life
DevOps in real lifeDevOps in real life
DevOps in real life
 
Codeless: автоматизация тестирования
Codeless: автоматизация тестированияCodeless: автоматизация тестирования
Codeless: автоматизация тестирования
 
Selenoid
SelenoidSelenoid
Selenoid
 
Selenide
SelenideSelenide
Selenide
 
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
Эмоциональный интеллект или как не сойти с ума в условиях сложного и динамичн...
 
IT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNGIT talk: Как я перестал бояться и полюбил TestNG
IT talk: Как я перестал бояться и полюбил TestNG
 
Olga Dzeverina pm_day_pdf
Olga Dzeverina pm_day_pdfOlga Dzeverina pm_day_pdf
Olga Dzeverina pm_day_pdf
 

Kürzlich hochgeladen

pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
JOHNBEBONYAP1
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
ydyuyu
 
PowerDirector Explination Process...pptx
PowerDirector Explination Process...pptxPowerDirector Explination Process...pptx
PowerDirector Explination Process...pptx
galaxypingy
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Monica Sydney
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
ydyuyu
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
gajnagarg
 
75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx
Asmae Rabhi
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
ydyuyu
 

Kürzlich hochgeladen (20)

20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
20240510 QFM016 Irresponsible AI Reading List April 2024.pdf
 
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdfpdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
pdfcoffee.com_business-ethics-q3m7-pdf-free.pdf
 
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查在线制作约克大学毕业证(yu毕业证)在读证明认证可查
在线制作约克大学毕业证(yu毕业证)在读证明认证可查
 
PowerDirector Explination Process...pptx
PowerDirector Explination Process...pptxPowerDirector Explination Process...pptx
PowerDirector Explination Process...pptx
 
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi EscortsRussian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
Russian Escort Abu Dhabi 0503464457 Abu DHabi Escorts
 
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
哪里办理美国迈阿密大学毕业证(本硕)umiami在读证明存档可查
 
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac RoomVip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
Vip Firozabad Phone 8250092165 Escorts Service At 6k To 30k Along With Ac Room
 
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrStory Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
Story Board.pptxrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr
 
Real Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirtReal Men Wear Diapers T Shirts sweatshirt
Real Men Wear Diapers T Shirts sweatshirt
 
Best SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency DallasBest SEO Services Company in Dallas | Best SEO Agency Dallas
Best SEO Services Company in Dallas | Best SEO Agency Dallas
 
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
Top profile Call Girls In Dindigul [ 7014168258 ] Call Me For Genuine Models ...
 
20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf20240508 QFM014 Elixir Reading List April 2024.pdf
20240508 QFM014 Elixir Reading List April 2024.pdf
 
75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx75539-Cyber Security Challenges PPT.pptx
75539-Cyber Security Challenges PPT.pptx
 
Microsoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck MicrosoftMicrosoft Azure Arc Customer Deck Microsoft
Microsoft Azure Arc Customer Deck Microsoft
 
Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.Meaning of On page SEO & its process in detail.
Meaning of On page SEO & its process in detail.
 
Trump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts SweatshirtTrump Diapers Over Dems t shirts Sweatshirt
Trump Diapers Over Dems t shirts Sweatshirt
 
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
20240509 QFM015 Engineering Leadership Reading List April 2024.pdf
 
Power point inglese - educazione civica di Nuria Iuzzolino
Power point inglese - educazione civica di Nuria IuzzolinoPower point inglese - educazione civica di Nuria Iuzzolino
Power point inglese - educazione civica di Nuria Iuzzolino
 
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime NagercoilNagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
Nagercoil Escorts Service Girl ^ 9332606886, WhatsApp Anytime Nagercoil
 
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
原版制作美国爱荷华大学毕业证(iowa毕业证书)学位证网上存档可查
 

A. Sirota "Building an Automation Solution based on Appium"

  • 1. Building an 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.
  • 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
  • 21. Link
  • 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 NOTE: DEVICE HAS TO BE IN THE SAME NETWORK AS YOUR COMPUTER 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. NOTE: DEVICE HAS TO BE IN THE SAME NETWORK AS YOUR COMPUTER 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