SlideShare a Scribd company logo
The Mobile Grid - Getting Started
Android & iOS
Kiev, Ukraine - 26 Feb 2016
How will you test all of these?!
The Challenge!
And each one of these cases?
• Validate every locale / languages your app supports.
• Validate every OS version your app supports.
• Validate different resolutions.
• Validate different screen sizes (phones, tablets, phablets etc..).
• Validate different device manufacturers.
You could try the single test
approach!
Not recommend…
Or the multi-threaded approach!
Also, not recommend…
Though, this guy doesn’t seem to mind.
Still not recommend, however…
Hire an army of zombie testers?!
Nah, definitely not recommended!!!
So what options do we have?!
• Test Automation of course!
• But how, why, and where???
Run Tests Single threaded?
Still, not recommend…
Parallelization!
Selenium Grid + Appium
BFFS 4EVER
Test On The Cloud
• The Pros:
• It’s the present and the future of automated testing.
• Ease of setup and integration.
• Save on costs of buying mobile devices or machines.
• Some test services provide you with excellent analytics and reporting.
• Some test services integrate well with cloud CI services. e.g. Travis CI.
• You expose your app to a much larger range of devices and OS’s.
• The Cons:
• It can be difficult sometimes to narrow down issues.
• Network problems.
• Latency issues.
• Outages can occur.
• Bugs in their software.
• Acquired by another company and then shutdown.
• Costs can become significant when running CI on every commit.
Cloud Test Services
• Sauce Labs
• Test Object
• Amazon Test Cloud (was Appthwack)
• Google Test Lab (was Appurify)
• Perfecto Mobile
• Testdroid
• TouchTest
• Keynote (was Device Anywhere)
Just to name a few…
The Mobile Grid
• The Pros:
• You can run tests an unlimited amount without worrying about costs.
• You’re not handcuffed to a cloud test services 24/7 availability.
• You have all the critical test data local for debugging.
• Have full access to every connected device via adb or instruments.
• No latency issues.
• You don't expose your app or sensitive data to the cloud.
• The Cons:
• Can be tough finding documentation or good examples specific to your bindings.
• Takes a bit of time to setup and smooth things out.
• Require some degree of ops knowledge.
• You might not be able to expose your app to a large range of devices and os’s.
• Build and maintain the entire setup (software & hardware).
• Devices can be a real pain! (I’ll cover this later.)
What I’ll demo…
• Getting all of the connected devices programmatically.
• Launching Grid hub & Appium nodes programmatically.
• Capturing screenshots, logs, video and logcat for reporting.
• Running single threaded.
• Running tests distributed.
• Running tests in parallel.
• Leveraging cloud test services such as Sauce Labs.
• Reduce your runtime costs by only executing selected scenarios.
• Generating an Allure report with all above metadata attached.
• The grid setup at Wunderlist.
• and lets briefly look at the core code…
Get Connected Device Data
• We retrieve connected device data and insert into an environment variable.
• The “thread” value will then match our “TEST_NUMBER” env var for
parallelization. TEST_NUMBER is created from the parallel gem.
• Capture device data for
every connected device.
• At a minimum, you need the
UDID to connect appium to
a grid node.
• However, it is important to
know the OS, and SDK
versions too.
Node Config Method
• Programmatically create your node based on the connected devices.
Generated Node Config
Appium Server Setup
• Method to setup appium server and pass in any arguments.
• The wonderful Appium developers baked a grid node into the
appium server.
Launch Hub & Appium Server Methods
• We set a “THREAD” variable. This will tell our parallel library how
many processes it should run.
• Launch the nodes in parallel so all start at the same time.
ADB Methods (Video and Logcat)
• Video records up to 180 seconds for real devices.
• Capture logcat data.
Spec Helper Methods
• Parse the DEVICES env variable and match it’s thread to
the running process, then initialize appium.
Test Setup and Teardown
• Set the UDID environment
variable for your tests.
• Before each test, start video
and logcat.
• After each test, stop video
and logcat.
• Only attach output to report
on failures!
Test Example
• Here is where the UDID environment variable is used. This
will let us know which device ran a specific test.
Selenium Camp 2016 -  Kiev, Ukraine
Android Setup
• Download every SDK version your app supports.
• Install Intel HAXM Accelerator!
Create Android Emulators
• Create an emulator for each sdk you installed.
Single Thread Test Example
• As you can see, this example was pretty slow. 48 seconds
in total.
Selenium Camp 2016 -  Kiev, Ukraine
• Distributed means we spread each
test to an available node. e.g.
device.
• This example only has two tests
(specs). So in theory we only need
two devices, with each running a
test.
• In this example we have one
emulator (left) and one real device
(right).
• Our runtime goes from 48 seconds
single-threaded to 27 seconds
multi-threaded.
Distributed Test
Example
Allure Report Distributed
Parallel Test Example
• Parallel in this case means we
run same tests on every
available node. e.g. device.
• This example has two tests
(specs). All tests will run on all
devices/emulators.
• We have five emulators, each
running a different SDK version,
and one real device (bottom
right).
• By testing on all SDK versions,
this gives us a warm fuzzy
feeling our app works correctly
on all versions.
• As you saw, emulator-5554
(GRID5) crashed. Lets look at
the report!
Allure Report Parallel
Run On The Cloud
• In the example tests theres only one spec tagged with “sauce”.
If you we had more, we could run in parallel for faster test
execution in Sauce Labs. e.g rake android[dist,sauce].
Allure Report Sauce Labs
• If needed, you can also download the test assets and attach
to the allure. Example: https://github.com/isonic1/appium-
mobile-grid/blob/master/common/dowload_sauce_assets.rb
Selenium Camp 2016 -  Kiev, Ukraine
iOS Setup
• Enable Developer Mode on your devices.
• Pair your devices to your machine.
• Enable UI Automation in the Developer menu.
• Ideally, connect a device running each os version your app
supports. iOS is generally pretty good at backwards
compatibility of os versions.
Real devices…
Parallel iOS
iOS Report
Wunderlist Mobile Grid
• Mac Pro - 3.5 GHz 6-Core - 32 GB Ram.
• OSX Server with performance mode enabled.
• Two Anker 9 Port USB Hubs.
• Energenie programmable power strip. (Reboots USB
hubs, router, Mac)
• Blink(1) programmable usb light to display CI status.
• Jenkins - builds and runs smoke tests on every commit.
CI Machine Specs
Selenium Camp 2016 -  Kiev, Ukraine
Selenium Camp 2016 -  Kiev, Ukraine
That is great but reporting is key!
Challenges
• Adb disconnects.
• I programmatically rebooting USB hubs before every test run. This reconnects adb.
• WiFi issues.
• I toggle airplane mode on/off prior to every test run.
• Other Possible Solutions:
• Reverse USB tethering. (requires rooting.)
• Using multiple routers on different broadcasting channels.
• Alternatives to real devices:
• Android Studio emulators.
• Cannot video record. *I will open a source a solution to this.
• A big plus IMO is that you have access your apps files (database) without rooting.
• Can use up a significant amount of memory depending on specs and the number running.
• Using Genymotion emulators. It’s the closest vm software to a real device.
• Has video recording but no API or CLI to start the recording. :/
• Some devices just behave erratically. (random reboots, adb connection issues, wonky text output,
battery issues).
Things to be excited about!
• A replacement for Apple's xcodebuild that makes it easier to build and test iOS or OSX apps.
• https://github.com/facebook/xctool
• WebDriverAgent is a WebDriver server for iOS that runs inside the Simulator and is written
entirely in Objective-C. Can run multiple iOS simulators in parallel.
• https://github.com/facebook/webdriveragent
• Run iOS tests on multiple simulators in parallel at the same time.
• https://github.com/plu/parallel_ios_tests
• Appium iOS driver, backed by Apple XCUITest.
• https://github.com/appium/appium-xcuitest-driver
• Remote control all your Smartphone devices From the comfort of your browser.
• http://openstf.io/
Selenium Camp 2016 -  Kiev, Ukraine
Lastly, some thank you’s
• Thank you to the Selenium open source developers and the
community whom make WebDriver happen.
• Also Dan Cuellar, the creator of Appium, whom is here at the
conference with us.
• If you see Dan, please give him a big bearhug! He’ll love it!
• Without Dan, people like him, and all the open source developers
we would never have these amazing tools to help do our jobs
more efficiently, and for free.
Thank You!
• email: justin.ison@gmail.com
• twitter: @isonic1
• https://github.com/isonic1/appium-mobile-grid
• Android Distributed
• https://www.dropbox.com/s/eidrtd71dbmv7uh/android-distributed.mov?dl=0
• https://www.dropbox.com/s/gildgq9oossdp4k/android-dist-report.mov?dl=0
• Android Parallel
• https://www.dropbox.com/s/fjla64pggg3cbr6/android-parallel.mov?dl=0
• https://www.dropbox.com/s/14ow5q2joikne1s/android-parallel-report.mov?dl=0
• Android Sauce Labs
• https://www.dropbox.com/s/n8gx9lsoxrn77te/android-saucelabs.mov?dl=0
• https://www.dropbox.com/s/4umdim23cvheevj/android-saucelabs-report.mov?dl=0
• iOS Parallel
• https://www.dropbox.com/s/161azld3lq0lc2f/ios_parallel.mov?dl=0
• https://www.dropbox.com/s/pxlzxx2ljl6q1wd/ios_allure_report.mov?dl=0
• Wunderlist Mobile Grid
• https://www.dropbox.com/s/y5xsmnxfldguzr0/grid-trimmed.mov?dl=0
• https://www.dropbox.com/s/675nonhixzq0ct7/emulators.mov?dl=0
• https://www.dropbox.com/s/a8g0erkabpa5zny/signup_failure.mov?dl=0
Slide Videos

More Related Content

PDF
Automated Exploratory Testing
PDF
Belfast Selenium Meetup
PDF
Selenium Conference 2015 - Mobile Selenium Grid Setup
PPTX
Helpful Automation Techniques - Selenium Camp 2014
PDF
Selenium Israel Meetup
PPTX
Advanced Appium
PDF
DCAST Meetup - Washington, DC Feb 2016
PDF
Selenium conference, 2016
Automated Exploratory Testing
Belfast Selenium Meetup
Selenium Conference 2015 - Mobile Selenium Grid Setup
Helpful Automation Techniques - Selenium Camp 2014
Selenium Israel Meetup
Advanced Appium
DCAST Meetup - Washington, DC Feb 2016
Selenium conference, 2016

What's hot (20)

PPTX
Best Practices in Mobile CI (webinar)
PDF
Selenium Testing on Chrome - Google DevFest Armenia 2015
PDF
Awesome Test Automation Made Simple w/ Dave Haeffner
PDF
SeConf_Nov2016_London
PDF
Automation Best Practices
PPTX
Advanced Appium: SeleniumConf UK 2016
PDF
Scaling your Automated Tests: Docker and Kubernetes
PPTX
Sauce Labs for Visual Studio Team Services & TFS
PPTX
Building High Quality Android Applications
PPTX
Beyond the Release: CI That Transforms Organizations
PPTX
Moving From a Selenium Grid to the Cloud - A Real Life Story
PDF
How To Use Selenium Successfully (Java Edition)
PDF
SeleniumCamp 2015 Andrii Soldatenko
PPTX
Continuous Testing in the Cloud
PPTX
Selenium and Appium Training from Sauce Labs
PPTX
Mobile performance metrics and performance monitoring meetup 2017 05 10
PPTX
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
PDF
Si fa presto a dire serverless
PPTX
End to end test automation with cypress
PPTX
Live Panel: Appium Core Committers Answer Your Questions
Best Practices in Mobile CI (webinar)
Selenium Testing on Chrome - Google DevFest Armenia 2015
Awesome Test Automation Made Simple w/ Dave Haeffner
SeConf_Nov2016_London
Automation Best Practices
Advanced Appium: SeleniumConf UK 2016
Scaling your Automated Tests: Docker and Kubernetes
Sauce Labs for Visual Studio Team Services & TFS
Building High Quality Android Applications
Beyond the Release: CI That Transforms Organizations
Moving From a Selenium Grid to the Cloud - A Real Life Story
How To Use Selenium Successfully (Java Edition)
SeleniumCamp 2015 Andrii Soldatenko
Continuous Testing in the Cloud
Selenium and Appium Training from Sauce Labs
Mobile performance metrics and performance monitoring meetup 2017 05 10
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
Si fa presto a dire serverless
End to end test automation with cypress
Live Panel: Appium Core Committers Answer Your Questions
Ad

Viewers also liked (8)

PPTX
Effective Testing in Agile
PPTX
Parallel testing with appium
PPTX
How to Leverage Appium in Your Mobile App Testing
PPTX
Make the Shift from Manual to Automation with Open Source
PPTX
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
KEY
Selenium Grid
PPTX
Getting Started with Mobile Test Automation & Appium
PPT
Android & iOS Automation Using Appium
Effective Testing in Agile
Parallel testing with appium
How to Leverage Appium in Your Mobile App Testing
Make the Shift from Manual to Automation with Open Source
Parallel Test Runs with Appium on Real Mobile Devices – Hands-on Webinar
Selenium Grid
Getting Started with Mobile Test Automation & Appium
Android & iOS Automation Using Appium
Ad

Similar to Selenium Camp 2016 - Kiev, Ukraine (20)

PDF
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
PDF
A. Sirota "Building an Automation Solution based on Appium"
PDF
Appium workship, Mobile Web+Dev Conference
PDF
Appium mobile web+dev conference
PDF
How to Test Android and iOS Mobile Apps with Appium.pdf
PDF
Appium Automation Testing Tutorial PDF: Learn Mobile Testing in 7 Days
PPT
Using Selenium to Test Native Apps (Wait, you can do that?)
PDF
Getting started with appium
PPTX
Appium - test automation for mobile apps
PPT
The Future of Selenium Testing for Mobile Web and Native Apps
PDF
Appium basics
PPTX
Appium testing api
PDF
Android & IOS Automation
PDF
Native iphone app test automation with appium
PDF
TMPA-2017: Unity Application Testing Automation with Appium and Image Recogni...
PPTX
Automation using Appium
PDF
Remote iOS Devices Server – Scaling iOS
PPTX
Appium Meetup #2 - Mobile Web Automation Introduction
PPTX
SaaS Digital Assurance Lab
PDF
A Comprehensive Guide to Cross-Platform Mobile Test Automation Using Appium.pdf
[Srijan Wednesday Webinar] Mastering Mobile Test Automation with Appium
A. Sirota "Building an Automation Solution based on Appium"
Appium workship, Mobile Web+Dev Conference
Appium mobile web+dev conference
How to Test Android and iOS Mobile Apps with Appium.pdf
Appium Automation Testing Tutorial PDF: Learn Mobile Testing in 7 Days
Using Selenium to Test Native Apps (Wait, you can do that?)
Getting started with appium
Appium - test automation for mobile apps
The Future of Selenium Testing for Mobile Web and Native Apps
Appium basics
Appium testing api
Android & IOS Automation
Native iphone app test automation with appium
TMPA-2017: Unity Application Testing Automation with Appium and Image Recogni...
Automation using Appium
Remote iOS Devices Server – Scaling iOS
Appium Meetup #2 - Mobile Web Automation Introduction
SaaS Digital Assurance Lab
A Comprehensive Guide to Cross-Platform Mobile Test Automation Using Appium.pdf

Recently uploaded (20)

PPTX
Introduction to Artificial Intelligence
PPTX
Odoo POS Development Services by CandidRoot Solutions
PDF
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
PPTX
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
PPT
Introduction Database Management System for Course Database
PPTX
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
PDF
Understanding Forklifts - TECH EHS Solution
PPTX
ai tools demonstartion for schools and inter college
PDF
PTS Company Brochure 2025 (1).pdf.......
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
medical staffing services at VALiNTRY
PDF
AI in Product Development-omnex systems
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Digital Strategies for Manufacturing Companies
PPTX
ISO 45001 Occupational Health and Safety Management System
PPTX
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
top salesforce developer skills in 2025.pdf
Introduction to Artificial Intelligence
Odoo POS Development Services by CandidRoot Solutions
T3DD25 TYPO3 Content Blocks - Deep Dive by André Kraus
ManageIQ - Sprint 268 Review - Slide Deck
Agentic AI Use Case- Contract Lifecycle Management (CLM).pptx
Introduction Database Management System for Course Database
Agentic AI : A Practical Guide. Undersating, Implementing and Scaling Autono...
Understanding Forklifts - TECH EHS Solution
ai tools demonstartion for schools and inter college
PTS Company Brochure 2025 (1).pdf.......
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
medical staffing services at VALiNTRY
AI in Product Development-omnex systems
Navsoft: AI-Powered Business Solutions & Custom Software Development
Digital Strategies for Manufacturing Companies
ISO 45001 Occupational Health and Safety Management System
Oracle E-Business Suite: A Comprehensive Guide for Modern Enterprises
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
top salesforce developer skills in 2025.pdf

Selenium Camp 2016 - Kiev, Ukraine

  • 1. The Mobile Grid - Getting Started Android & iOS Kiev, Ukraine - 26 Feb 2016
  • 2. How will you test all of these?! The Challenge!
  • 3. And each one of these cases? • Validate every locale / languages your app supports. • Validate every OS version your app supports. • Validate different resolutions. • Validate different screen sizes (phones, tablets, phablets etc..). • Validate different device manufacturers.
  • 4. You could try the single test approach! Not recommend…
  • 5. Or the multi-threaded approach! Also, not recommend…
  • 6. Though, this guy doesn’t seem to mind. Still not recommend, however…
  • 7. Hire an army of zombie testers?! Nah, definitely not recommended!!!
  • 8. So what options do we have?! • Test Automation of course! • But how, why, and where???
  • 9. Run Tests Single threaded? Still, not recommend…
  • 11. Selenium Grid + Appium BFFS 4EVER
  • 12. Test On The Cloud • The Pros: • It’s the present and the future of automated testing. • Ease of setup and integration. • Save on costs of buying mobile devices or machines. • Some test services provide you with excellent analytics and reporting. • Some test services integrate well with cloud CI services. e.g. Travis CI. • You expose your app to a much larger range of devices and OS’s. • The Cons: • It can be difficult sometimes to narrow down issues. • Network problems. • Latency issues. • Outages can occur. • Bugs in their software. • Acquired by another company and then shutdown. • Costs can become significant when running CI on every commit.
  • 13. Cloud Test Services • Sauce Labs • Test Object • Amazon Test Cloud (was Appthwack) • Google Test Lab (was Appurify) • Perfecto Mobile • Testdroid • TouchTest • Keynote (was Device Anywhere) Just to name a few…
  • 14. The Mobile Grid • The Pros: • You can run tests an unlimited amount without worrying about costs. • You’re not handcuffed to a cloud test services 24/7 availability. • You have all the critical test data local for debugging. • Have full access to every connected device via adb or instruments. • No latency issues. • You don't expose your app or sensitive data to the cloud. • The Cons: • Can be tough finding documentation or good examples specific to your bindings. • Takes a bit of time to setup and smooth things out. • Require some degree of ops knowledge. • You might not be able to expose your app to a large range of devices and os’s. • Build and maintain the entire setup (software & hardware). • Devices can be a real pain! (I’ll cover this later.)
  • 15. What I’ll demo… • Getting all of the connected devices programmatically. • Launching Grid hub & Appium nodes programmatically. • Capturing screenshots, logs, video and logcat for reporting. • Running single threaded. • Running tests distributed. • Running tests in parallel. • Leveraging cloud test services such as Sauce Labs. • Reduce your runtime costs by only executing selected scenarios. • Generating an Allure report with all above metadata attached. • The grid setup at Wunderlist. • and lets briefly look at the core code…
  • 16. Get Connected Device Data • We retrieve connected device data and insert into an environment variable. • The “thread” value will then match our “TEST_NUMBER” env var for parallelization. TEST_NUMBER is created from the parallel gem.
  • 17. • Capture device data for every connected device. • At a minimum, you need the UDID to connect appium to a grid node. • However, it is important to know the OS, and SDK versions too.
  • 18. Node Config Method • Programmatically create your node based on the connected devices.
  • 20. Appium Server Setup • Method to setup appium server and pass in any arguments. • The wonderful Appium developers baked a grid node into the appium server.
  • 21. Launch Hub & Appium Server Methods • We set a “THREAD” variable. This will tell our parallel library how many processes it should run. • Launch the nodes in parallel so all start at the same time.
  • 22. ADB Methods (Video and Logcat) • Video records up to 180 seconds for real devices. • Capture logcat data.
  • 23. Spec Helper Methods • Parse the DEVICES env variable and match it’s thread to the running process, then initialize appium.
  • 24. Test Setup and Teardown • Set the UDID environment variable for your tests. • Before each test, start video and logcat. • After each test, stop video and logcat. • Only attach output to report on failures!
  • 25. Test Example • Here is where the UDID environment variable is used. This will let us know which device ran a specific test.
  • 27. Android Setup • Download every SDK version your app supports. • Install Intel HAXM Accelerator!
  • 28. Create Android Emulators • Create an emulator for each sdk you installed.
  • 29. Single Thread Test Example • As you can see, this example was pretty slow. 48 seconds in total.
  • 31. • Distributed means we spread each test to an available node. e.g. device. • This example only has two tests (specs). So in theory we only need two devices, with each running a test. • In this example we have one emulator (left) and one real device (right). • Our runtime goes from 48 seconds single-threaded to 27 seconds multi-threaded. Distributed Test Example
  • 33. Parallel Test Example • Parallel in this case means we run same tests on every available node. e.g. device. • This example has two tests (specs). All tests will run on all devices/emulators. • We have five emulators, each running a different SDK version, and one real device (bottom right). • By testing on all SDK versions, this gives us a warm fuzzy feeling our app works correctly on all versions. • As you saw, emulator-5554 (GRID5) crashed. Lets look at the report!
  • 35. Run On The Cloud • In the example tests theres only one spec tagged with “sauce”. If you we had more, we could run in parallel for faster test execution in Sauce Labs. e.g rake android[dist,sauce].
  • 36. Allure Report Sauce Labs • If needed, you can also download the test assets and attach to the allure. Example: https://github.com/isonic1/appium- mobile-grid/blob/master/common/dowload_sauce_assets.rb
  • 38. iOS Setup • Enable Developer Mode on your devices. • Pair your devices to your machine. • Enable UI Automation in the Developer menu. • Ideally, connect a device running each os version your app supports. iOS is generally pretty good at backwards compatibility of os versions. Real devices…
  • 42. • Mac Pro - 3.5 GHz 6-Core - 32 GB Ram. • OSX Server with performance mode enabled. • Two Anker 9 Port USB Hubs. • Energenie programmable power strip. (Reboots USB hubs, router, Mac) • Blink(1) programmable usb light to display CI status. • Jenkins - builds and runs smoke tests on every commit. CI Machine Specs
  • 45. That is great but reporting is key!
  • 46. Challenges • Adb disconnects. • I programmatically rebooting USB hubs before every test run. This reconnects adb. • WiFi issues. • I toggle airplane mode on/off prior to every test run. • Other Possible Solutions: • Reverse USB tethering. (requires rooting.) • Using multiple routers on different broadcasting channels. • Alternatives to real devices: • Android Studio emulators. • Cannot video record. *I will open a source a solution to this. • A big plus IMO is that you have access your apps files (database) without rooting. • Can use up a significant amount of memory depending on specs and the number running. • Using Genymotion emulators. It’s the closest vm software to a real device. • Has video recording but no API or CLI to start the recording. :/ • Some devices just behave erratically. (random reboots, adb connection issues, wonky text output, battery issues).
  • 47. Things to be excited about! • A replacement for Apple's xcodebuild that makes it easier to build and test iOS or OSX apps. • https://github.com/facebook/xctool • WebDriverAgent is a WebDriver server for iOS that runs inside the Simulator and is written entirely in Objective-C. Can run multiple iOS simulators in parallel. • https://github.com/facebook/webdriveragent • Run iOS tests on multiple simulators in parallel at the same time. • https://github.com/plu/parallel_ios_tests • Appium iOS driver, backed by Apple XCUITest. • https://github.com/appium/appium-xcuitest-driver • Remote control all your Smartphone devices From the comfort of your browser. • http://openstf.io/
  • 49. Lastly, some thank you’s • Thank you to the Selenium open source developers and the community whom make WebDriver happen. • Also Dan Cuellar, the creator of Appium, whom is here at the conference with us. • If you see Dan, please give him a big bearhug! He’ll love it! • Without Dan, people like him, and all the open source developers we would never have these amazing tools to help do our jobs more efficiently, and for free.
  • 50. Thank You! • email: justin.ison@gmail.com • twitter: @isonic1 • https://github.com/isonic1/appium-mobile-grid
  • 51. • Android Distributed • https://www.dropbox.com/s/eidrtd71dbmv7uh/android-distributed.mov?dl=0 • https://www.dropbox.com/s/gildgq9oossdp4k/android-dist-report.mov?dl=0 • Android Parallel • https://www.dropbox.com/s/fjla64pggg3cbr6/android-parallel.mov?dl=0 • https://www.dropbox.com/s/14ow5q2joikne1s/android-parallel-report.mov?dl=0 • Android Sauce Labs • https://www.dropbox.com/s/n8gx9lsoxrn77te/android-saucelabs.mov?dl=0 • https://www.dropbox.com/s/4umdim23cvheevj/android-saucelabs-report.mov?dl=0 • iOS Parallel • https://www.dropbox.com/s/161azld3lq0lc2f/ios_parallel.mov?dl=0 • https://www.dropbox.com/s/pxlzxx2ljl6q1wd/ios_allure_report.mov?dl=0 • Wunderlist Mobile Grid • https://www.dropbox.com/s/y5xsmnxfldguzr0/grid-trimmed.mov?dl=0 • https://www.dropbox.com/s/675nonhixzq0ct7/emulators.mov?dl=0 • https://www.dropbox.com/s/a8g0erkabpa5zny/signup_failure.mov?dl=0 Slide Videos