appium: mobile automation made awesome

Post on 27-Jun-2015

342 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

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.

TRANSCRIPT

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!

top related