Upload
sauce-labs
View
5.898
Download
5
Embed Size (px)
Citation preview
ABOUTTHESPEAKER
DanCuellar• CreatorofAppium• HeadofSoftwareTestingatFOODit• PreviouslyatShazam,Zoosk,andMicrosoft• BSinComputerSciencefromCarnegieMellon
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
NEWIOSBACK-ENDS
• WebDriverAgent• https://github.com/facebook/WebDriverAgent• MultipleSimulators• AllApplications
• XCUITest• Created byApple
• BettersupportforfutureversionsofiOS
AUTOMATEDVISUALTESTING
• AddvisualvalidationtoyourexistingAppium tests• Covercontent,data,layoutandappearanceofalltheUIelementswithasinglecheckpointforanentirepage
• Validatethelook&feelofyourapplication/websiteUIonallplatforms
• Automatedmaintenanceofthebaselineimagesacrossmultipledevices/screensizes
HOWDOESITWORK?• Calibratetherobottomappointsinthephysicalworldtopointsonadevice screen• RunanapponthedevicewithAppium thatcantellyouwhatcoordinatesarebeingtouched
• Touchthreeplacesonthedeviceandrecordthephysicalanddevice-centriccoordinates
• Buildamatrixtotranslateanypointbetweenthetwosystems
• IntercepttouchactionswiththeAppium Serverandsendthemtotherobot
WHYDOESAPPIUM SUCCEED?
• FromDay1,ThereWasaClearPhilosophyandVision• Wetrytobeasinclusive aspossibletofosteranactivecommunity• Wesupportmanylanguagesandplatformsas• Ourtoolisbasedonanexistingtoolpeoplearealreadyfamiliarwith
• Weputawhole lotofworkintoit• Wespeakatanyandeveryconferencethatwillhaveus
• Wecontributealotofourunpaidtimeintotheproduct
PERSONALTAKEAWAY“Lifecanbemuchbroaderonceyoudiscoveronesimplefact:Everythingaroundyouthatyoucalllifewasmadeupbypeoplethatwerenosmarterthanyouandyoucanchangeit,youcaninfluenceit,youcanbuildyourownthingsthatotherpeoplecanuse.
Onceyoulearnthat,you'llneverbethesameagain.”
-SteveJobs