45
WEBINAR FEBRUARY 16, 2016

10 things you didnt know about appium + whats new in appium 1.5

Embed Size (px)

Citation preview

WEBINARFEBRUARY16,2016

ABOUTTHESPEAKER

DanCuellar• CreatorofAppium• HeadofSoftwareTestingatFOODit• PreviouslyatShazam,Zoosk,andMicrosoft• BSinComputerSciencefromCarnegieMellon

THEMOSTTERRIFYING5WORDSINTESTING

THISALLSOUNDSFAMILIAR

EVERYTHINGISNOTAWESOME

WHATISAPPIUM

• AnimplementationoftheSeleniumJSON-wireprotocolthatcontrolsnativeandhybridiOSandAndroidapplication• Themostpopularopensourcemobilefunctionaltestingframework

APPIUM PHILOSOPHY• UsestandardizedandsanctionedAPIsandtechniques

• Codeinthelanguageofyourchoice• Java,C#,Python,Ruby,Objective-C,node.js,PHP,andmore

• Donotmodifytheapplicationundertest

• Keepitfreeandopensource

HOWDOESITWORK?UIAutomation /UIAutomator

AppiumServer

TestScript

JSON-Wire Protocol Request

JSON-Wire Protocol Response

HTTP

BYTHENUMBERS

Inthelast3years• Over3,000Stars,2,000ForksonGitHub• Over150Contributorsand5,000commits• Over150,000downloadsofAppium1.0• Over3,000issuesclosed

WHAT’SNEWINAPPIUM 1.5?

• Completerewriteoftheentirecodebase• ContinuousIntegrationandUnitTests• Commandlineargumentsaremostlycapabilitiesnow• CodeofConductandGovernance

WHYREWRITE?

• 3yearsofpatchesandorganicgrowth• Manycomplaintsaboutinstability• Codewasnotmodularenough• OldandconfusingES5code• CallbackHell• PoorlyTested

WHAT’SCOMINGNEXT• WindowsPhoneandWindows10applicationsupport• NewGUIs• MultipleNewiOSBackends• AndroidbackendrewriteusingUIAutomator 2• Betterdocsandonboardingmaterial• Appium Foundation

WINDOWSSUPPORT

NEWIOSBACK-ENDS

• WebDriverAgent• https://github.com/facebook/WebDriverAgent• MultipleSimulators• AllApplications

• XCUITest• Created byApple

• BettersupportforfutureversionsofiOS

https://github.com/appium/appium-for-mac

AUTOMATEDVISUALTESTING

• AddvisualvalidationtoyourexistingAppium tests• Covercontent,data,layoutandappearanceofalltheUIelementswithasinglecheckpointforanentirepage

• Validatethelook&feelofyourapplication/websiteUIonallplatforms

• Automatedmaintenanceofthebaselineimagesacrossmultipledevices/screensizes

https://github.com/appium/selenium-objective-c

https://github.com/2gis/Winium

ROBOTS

HOWDOESITWORK?• Calibratetherobottomappointsinthephysicalworldtopointsonadevice screen• RunanapponthedevicewithAppium thatcantellyouwhatcoordinatesarebeingtouched

• Touchthreeplacesonthedeviceandrecordthephysicalanddevice-centriccoordinates

• Buildamatrixtotranslateanypointbetweenthetwosystems

• IntercepttouchactionswiththeAppium Serverandsendthemtotherobot

THEMATH

WHYDOESAPPIUM SUCCEED?

• FromDay1,ThereWasaClearPhilosophyandVision• Wetrytobeasinclusive aspossibletofosteranactivecommunity• Wesupportmanylanguagesandplatformsas• Ourtoolisbasedonanexistingtoolpeoplearealreadyfamiliarwith

• Weputawhole lotofworkintoit• Wespeakatanyandeveryconferencethatwillhaveus

• Wecontributealotofourunpaidtimeintotheproduct

INCLUSIVENESS

INCLUSIVENESS

INCLUSIVENESS

INCLUSIVENESS

PERSONALTAKEAWAY“Lifecanbemuchbroaderonceyoudiscoveronesimplefact:Everythingaroundyouthatyoucalllifewasmadeupbypeoplethatwerenosmarterthanyouandyoucanchangeit,youcaninfluenceit,youcanbuildyourownthingsthatotherpeoplecanuse.

Onceyoulearnthat,you'llneverbethesameagain.”

-SteveJobs

MOREINFO• Website:http://www.appium.io

• Slack:appium.slack.com

• Forum:discuss.appium.io

• GitHub:http://www.github.com/appium/appium