Upload
sauce-labs
View
5.904
Download
0
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