Upload
netcetera
View
346
Download
3
Tags:
Embed Size (px)
DESCRIPTION
The tools and practices refined over the last decade by web developers have not crossed over easily into the mobile community. Mobile devs have been without tools like continuous integration and automated testing, which enable delivery of high-quality apps more rapidly. A key piece of the solution for mobile is Appium, an open-source, cross-platform, language-agnostic mobile automation framework you can use to write automated UI tests for Android and iOS apps (native, hybrid, web), to be run on emulators or devices. In this talk we will explore the philosophy that underlies the work behind Appium, including the open-source nature of Appium’s diverse, active and friendly community. Then, after a brief explanation of the technology that powers Appium, we’ll move into the technical portion of the talk, where attendees will see easy it is to write Appium scripts using the WebDriver protocol in their favorite language, and integrate Appium tests into a CI system using Selenium Grid or Sauce Labs. Finally, we’ll look at some concrete examples of how Appium has been used in a large project with 20 Android Apps at Swiss Post to dramatically improve mobile QA. Ultimately, the talk provides an argument for moving from manual QA to automated testing, an understanding of the mobile automation landscape, and a solid introduction to Appium, which leading projects and companies around the world have chosen as their mobile automation framework of choice.
Citation preview
in project Nemo at Swiss Post
Matthias Junker
© Foto Die Schweizerische Post AG
• Android
• 7 Scrum Teams
• 18 Apps
• 10 months
test device
Not all Android devices
are the same…
© Foto by Andrew Magill
https://www.flickr.com/photos/amagill/4223790595
https://creativecommons.org/licenses/by/2.0
Appium
~
Selenium
Test Scripts
Selenium
Chrome
chromedriver
Introducing
Test Scripts
Selenium
Chrome
chromedriver
Appium
Selendroid
Intermec CN51
Introducing
«Shared» Test Scripts
Selenium
Chrome
chromedriver
Appium
Selendroid
Intermec CN51
Introducing
«Shared» Test Scripts
Selenium
Chrome
chromedriver
Appium
Selendroid
Intermec CN51
Introducing
Abstraction Layer
Job
App
1
Job
App
2 Je
nk
ins
Ap
piu
m S
erv
er
…
…
Uninstall all Apps
Jenkins Job Download Apps
Sign and install
Apps
Archive logs and
screenshots
Run Test
Repeat for
every test
Jenkins master
Connect
slave
Jenkins master
Connect
slave Run test
…
Jen
kin
s
slave-label
Ap
piu
m S
erv
er
Job
App
1
Job
App
2 …
I like my
biscuits flakey,
not my tests.
© Foto by Casey Fleser
https://www.flickr.com/photos/somegeekintn/3796107641
https://creativecommons.org/licenses/by/2.0
© Foto by Juan Emilio
https://www.flickr.com/photos/juan_e/8633078314
https://creativecommons.org/licenses/by-sa/2.0/
Tweety
service.load()
.done(doneCallback)
.fail(failCallback);
Tests are now as stable as
Selenium tests
conclusion
Flexible CI setup
conclusion
Writing tests only
once is great
conclusion
conclusion
Questions?
@mjunker84
http://www.netcetera.com
@mjunker84
http://www.netcetera.com
Thanks!
Join our Appium
workshop today at 14:10!