29
What’s new with appium? From 1.0 to now Jonathan Lipps Director of Ecosystem Development, Sauce Labs Inc 12.17.2014

What's New With Appium? From 1.0 to Now

Embed Size (px)

Citation preview

Page 1: What's New With Appium? From 1.0 to Now

What’s new with appium?!From 1.0 to now

Jonathan Lipps!Director of Ecosystem Development, Sauce Labs Inc!12.17.2014!

Page 2: What's New With Appium? From 1.0 to Now

@jlipps

I hack on Appium and other projects with an awesome team of open-source devs at Sauce Labs.

@jlipps

Hi.!@AppiumDevs

appium/appium

Page 3: What's New With Appium? From 1.0 to Now

appium in Review!What are we talking about?

What’s new?!A tour of useful things

What’s coming?!You’ll be excited about these

Agenda

Q & A!What are you wondering about?

Page 4: What's New With Appium? From 1.0 to Now

The Mobile Automation Solution

•  Opinionated philosophy

•  Use any language and test framework

•  Compatible with Selenium/WebDriver

•  Large and thriving community

appium is an open-source, cross-platform automation platform that supports native, hybrid, and mobile apps.!

Page 5: What's New With Appium? From 1.0 to Now

Getting Started!

•  Main site: http://appium.io!•  Discussion forums: http://discuss.appium.io!•  GitHub: https://github.com/appium/appium!

Page 6: What's New With Appium? From 1.0 to Now

Real devices

Simulators

Native Apps

Hybrid Apps

Platform Support!

Mobile Web Apps

Page 7: What's New With Appium? From 1.0 to Now

Android UiAutomator! Architecture!

WebDriver Interface

iOS UIAutomation!Powered by Instruments

Selendroid!For older Android devices

Page 8: What's New With Appium? From 1.0 to Now

What’s new?!Since 1.0

Page 9: What's New With Appium? From 1.0 to Now

What’s new?!

•  1.0 released May 3, 2014!•  Since then:!-  10 releases (current release is 1.3.4) -  1900 commits

•  New language clients!•  New features!•  New platforms!•  New contributors and community members!

Page 10: What's New With Appium? From 1.0 to Now

What’s new? Platforms!

•  iOS 8!-  [OS X Yosemite / Xcode 6]

•  iOS 8.1!•  Android 4.4W!•  Android 5.0!

Page 11: What's New With Appium? From 1.0 to Now

Demo!iOS 8.1,

Android 5.0

Page 12: What's New With Appium? From 1.0 to Now

What’s new? Language Clients!

•  Why Appium clients?!•  Java (http://github.com/appium/java-client)!•  Python (http://github.com/appium/python-client)!•  Ruby (http://github.com/appium/ruby_lib)!•  JavaScript (http://github.com/admc/wd)!•  PHP (http://github.com/appium/php-client)!•  C# (http://github.com/appium/appium-dotnet-driver)!•  Perl (http://github.com/appium/perl-client)!•  Objective C (http://github.com/appium/selenium-objective-c)!

Page 13: What's New With Appium? From 1.0 to Now

driver.getContextHandles() Get Contexts!For webviews

Java

Py driver.contexts

driver.contexts(cb) JS

Page 14: What's New With Appium? From 1.0 to Now

What’s new? Features!

•  Full XPath support for Android!•  New locator strategies!-  find_by_ios_uiautomation -  find_by_android_uiautomator

•  Android webview support (4.4+)!•  Android browser support (4.4+)!•  New desired capabilities!•  New commands!

Page 15: What's New With Appium? From 1.0 to Now

What’s new? New Locator Strategies!

Page 16: What's New With Appium? From 1.0 to Now

What’s new? Android Webviews!

Page 17: What's New With Appium? From 1.0 to Now

What’s new? Android Browser!

Page 18: What's New With Appium? From 1.0 to Now

What’s new? Capabilities!

•  New capability structure!-  Will be adopted for Selenium 4 -  platformName, platformVersion, deviceName, app -  platformName, platformVersion, deviceName, browserName

•  autoWebview!•  (Android) avdLaunchTimeout, avdReadyTimeout •  (Android) unicodeKeyboard •  (iOS) sendKeyStrategy -  “oneByOne”, “grouped”, “setValue”

Page 19: What's New With Appium? From 1.0 to Now

Demo!unicodeKeyboard

Page 20: What's New With Appium? From 1.0 to Now

What’s new? Commands!

•  (iOS) driver.pullFile(filePath) •  (iOS) driver.pullFolder(folderPath) •  (Android) driver.startActivity(appPackage, appActivity) •  (Android) driver.openNotifications() •  driver.hideKeyboard(strategy) -  (iOS) “pressKey”, “swipeDown”, “tapOutside”

•  (Android) driver.setNetworkConnection(state) -  NetworkConnection.ConnectionType.AIRPLANE_MODE

•  (Android) driver.ignoreUnimportantViews(compress)

Page 21: What's New With Appium? From 1.0 to Now

What’s new? TouchActions!

Page 22: What's New With Appium? From 1.0 to Now

What’s new? MultiTouchActions!

Page 23: What's New With Appium? From 1.0 to Now

Demo!DragNDrop,

openNotifications

Page 24: What's New With Appium? From 1.0 to Now

What’s new? On Sauce!

•  All Appium platforms supported •  New platform configurator for easy capability discovery

Page 25: What's New With Appium? From 1.0 to Now

Demo!Platform Configurator

Page 26: What's New With Appium? From 1.0 to Now

What’s coming?!

To the future!

Page 27: What's New With Appium? From 1.0 to Now

What’s coming?!

•  Appium CI!•  Core code cleanup and rewrite!•  iOS 8.2 support!•  WatchKit integration? (Watch simulator?)!•  Espresso integration!•  Windows phone support!•  Appium GUI support!•  More comprehensive docs and tutorials!•  Plenty of new platform-specific features!

Page 28: What's New With Appium? From 1.0 to Now

Q & A!Hit me with your best

shot…

Page 29: What's New With Appium? From 1.0 to Now

@jlipps

@jlipps

@AppiumDevs

appium/appium

@saucelabs

!Thanks!!

saucelabs.com