SlideShare a Scribd company logo
1 of 53
Adam Carmi (@carmiadam)
Co-Founder and VP R&D at Applitools
adam.carmi@applitools.com
ADVANCED AUTOMATED
VISUAL TESTING WITH
SELENIUM
YOU CAN AND SHOULD
AUTOMATE YOUR
VISUAL TESTS!
AGENDA
 Why automatedvisualtesting?
 Tools& Technology
 Where does it fit?
 Q & A
WHAT IS VISUAL TESTING?
A qualityassurance activity aimed to verify that a
Graphical User Interface appears correctly to users
A VISUAL BUG
AND ANOTHER…
AMAZON PRIME DAY – JULY 15th, 2015
WHY SHOULD IT BE AUTOMATED?
THE TEST MATRIX IS TOO BIG TO COVER
MANUALLY
 Webbrowsers
 Devices
 Operatingsystems
 Screen resolutions
 Responsivedesign
 L10n
 3rd Partyupgrades
WHY SHOULD IT BE AUTOMATED?
WHY SHOULD IT BE AUTOMATED?
NATIVE / HYBRID MOBILE APPS
 Harder to roll back changes
 Can’t pushdaily
 Updates take battery and data
 Higherquality bar
WHY SHOULD IT BE AUTOMATED?
Many are already doing it…
PhantomCSS
Fighting Layout Bugs
CSS Critc Wraith
Needle
Grunt PhotoBox
dpdxt
WebdriverCSS
Eyes
Huxley
FBSnapshotTestCase
Gemini
Selenium Visual Diff
VisualCeption
Specter
Snap And Compare
kobold
AGENDA
 Why automatedvisualtesting?
 Tools & Technology
 Where does it fit?
 Q & A
THE WORKFLOW
Drive the AUT and take screenshots
Compare screenshots with baseline
images
Report differences
Update the baseline
DEMOhttps://github.com/webdriverio/webdrivercss
THE WORKFLOW
Drive the AUT and take screenshots
Compare screenshots with baseline
images
Report differences
Update the baseline
SCREENSHOTS
 Full page?
 Regions?
 Frames?
 Device pixel ratio?
 Rotation?
 Viewport size?
 Page preparation?
 Page stabilization?
QUICK FEEDBACK TOOLS
MOTIVATION
 Get fast feedback on code
changes
 Run tests locally in the
background
SETUP
 Render screenshots with a
headless browser
 PhatomJS, SlimerJS
 Configuration file driven tests
CONS
 Partial coverage
 Chrome, IE?
 Limited navigation
 Tests stale browser versions
VISUAL COVERAGE TOOLS
MOTIVATION
 Verify that the app / site looks right
in all real execution environments
 Test as many UI states as possible
 Execute many tests in parallel
SETUP
 Render screenshots using real
browsers on a variety of
operating systems and devices
in parallel
 WebDriver, Grid
 Code driven tests
 WebDriver, DSLCONS
 Requires test infrastructure
 Implement and maintain test
code
SELENIUM BASED TOOLS
CODE / SCRIPT
 Needle (Python WD)
 WebDriverCss (JS WebDriverIO)
 Gemini (JS DSL)
 Selenium Visual Diff (Java WD)
 VisualCeption (PHP
CodeCeption)
 Pix-Diff (JS Protractor)
 Shoov (JS WebDriverIO)
 Vizregress (.NET WD)
 Rspec Page Regression
(Capibara)
 Applitools Eyes (All WD +
Appium)
 Fighting Layout Bugs (Java
WebDriver)
CONFIGURATION
 Viff
 CSS Visual Test
 GreenOnion
 Wraith-Selenium
NON-SELENIUM BASED TOOLS
CODE / SCRIPT
 PhantomCSS (JS CasperJS)
 Specter (JS DSL)
 FBSnapshotTestCase (XCTest)
CONFIGURATION
 Wraith
 Dpdxt
 Grunt PhotoBox
 Grunt-Vigo
 Snap And Compare
 BackstopJS
 CSSCritic
 Kobold
 DiffCop
 SUCCSS
MANUAL
 Eyes Express (Chrome)
THE WORKFLOW
Drive the AUT and take screenshots
Compare screenshots with baseline
images
Report differences
Update the baseline
WHY NOT?
FALSE POSITIVES
ANTI-ALIASING?
ANTI ALIASING 1/2
ANTI ALIASING 2/2
BRIGHTNESS 1/2
BRIGHTNESS 2/2
TEXT POSIONING 1/2
TEXT POSIONING 2/2
IMAGE SCALING 1/2
IMAGE SCALING 2/2
ANDMORE…
1 pixeloffsets in elementpositioning
Dynamic content
Movingelements
Images ofdifferentsize
Performance
Image Comparison APIs
ImageMagick
 A powerful command linetool for image processing.
 APIs are available for most programming languages.
 Fuzzing is used to eliminateslight color differences
 An error ratio is usually used to determine a match
$ compare –metric AE –fuzz 5% img1.png img2.png diff.png
2246
The Javascript Engines
 Resemble.js
Pixel bypixel + errorratio + anti-aliasing
http://huddle.github.io/Resemble.js
 Blink-Diff
Pixel by pixel + errorratio + anti-aliasing + perceptual colordistance computation
https://github.com/yahoo/blink-diff
 Looks-Same
Pixel by pixel + perceptual color distance computation + ignore Caret
https://github.com/gemini-testing/looks-same
Applitools Eyes
 A specialized image processing stackdesigned to compare computer
generated UI images
 Handles anti-aliasing,pixel offsets, color similarity, and image scaling
 Dynamic and moving content
 Compare images of different sizes
 No error ratio configuration required
 Validates full UI pages
 Fast!
 Supports layout matching
DEMO
THE WORKFLOW
Drive the AUT and take screenshots
Compare screenshots with baseline
images
Report differences
Update the baseline
REPORT DIFFERENCES
As files on the file system (combined with source control)
REPORT DIFFERENCES
As a Gallery (example from Selenium Visual Diff)
THE WORKFLOW
Drive the AUT and take screenshots
Compare screenshots with baseline
images
Report differences
Update the baseline
UPDATE THE BASELINE
 Rename or commit individualimage files
 GUI (GeminiGUI)
UPDATE THE BASELINE
 Overwrite mode
 Automatic maintenance (ApplitoolsEyes)
AGENDA
 Why automatedvisualtesting?
 Tools& Technology
 Where does it fit?
 Q & A
WHERE DOES IT FIT?
• Component
s
• Code
review
• Developers
• Designers
• QA
Visual testing of frontend components by
frontend developers
WHERE DOES IT FIT?
• Pages
• Page
sections
• Developers
• Designers
• QA
• Others
Full or partial validation of application
screens
A collaboration tool
WHERE DOES IT FIT?
• Staging vs.
Production
• Ops
• QA
Validate your staging deployment using your
production deployment as a baseline
WHERE DOES IT FIT?
• Monitoring
• Ops
• QA
No missing resources in production
No corruption due to 3rd party data
No corruption due to browser / OS upgrades
QUESTIONS?
Adam Carmi (@carmiadam)
Co-Founder and VP R&D at Applitools
adam.carmi@applitools.com
THANK YOU

More Related Content

What's hot

Advanced automated visual testing with Selenium
Advanced automated visual testing with SeleniumAdvanced automated visual testing with Selenium
Advanced automated visual testing with Seleniumadamcarmi
 
Automated Visual Testing That Does Not Suck
Automated Visual Testing That Does Not SuckAutomated Visual Testing That Does Not Suck
Automated Visual Testing That Does Not Suckadamcarmi
 
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the CloudSauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the CloudSauce Labs
 
Advanced Automated Visual Testing for Mobile Apps
Advanced Automated Visual Testing for Mobile AppsAdvanced Automated Visual Testing for Mobile Apps
Advanced Automated Visual Testing for Mobile Appsadamcarmi
 
Appium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriverAppium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriverAndrii Dzynia
 
What's New With Appium? From 1.0 to Now
What's New With Appium? From 1.0 to NowWhat's New With Appium? From 1.0 to Now
What's New With Appium? From 1.0 to NowSauce Labs
 
Visual regression with applitools eyes
Visual regression with applitools eyesVisual regression with applitools eyes
Visual regression with applitools eyesShama Ugale
 
Everything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and SeleniumEverything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and SeleniumLizzy Guido (she/her)
 
Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)Sauce Labs
 
Learnings from Hybrid App Testing Jijesh Mohan
Learnings from Hybrid App Testing Jijesh MohanLearnings from Hybrid App Testing Jijesh Mohan
Learnings from Hybrid App Testing Jijesh MohanvodQA
 
Mobile Development with PhoneGap
Mobile Development with PhoneGapMobile Development with PhoneGap
Mobile Development with PhoneGapJoshua Johnson
 
Launch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with AppurifyLaunch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with AppurifyManish Lachwani
 
Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)danielputerman
 
SMART DESIGN - icon fonts, svg, and the mobile influence
SMART DESIGN - icon fonts, svg, and the mobile influenceSMART DESIGN - icon fonts, svg, and the mobile influence
SMART DESIGN - icon fonts, svg, and the mobile influenceSara Cannon
 
Appium meet up noida
Appium meet up noidaAppium meet up noida
Appium meet up noidaAmit Rawat
 
Salesforce Kerala developer user group meetup
Salesforce Kerala developer user group meetupSalesforce Kerala developer user group meetup
Salesforce Kerala developer user group meetupShivanath Devinarayanan
 
Appium@Work at PAYBACK
Appium@Work at PAYBACKAppium@Work at PAYBACK
Appium@Work at PAYBACKMarcel Gehlen
 

What's hot (19)

Advanced automated visual testing with Selenium
Advanced automated visual testing with SeleniumAdvanced automated visual testing with Selenium
Advanced automated visual testing with Selenium
 
Automated Visual Testing That Does Not Suck
Automated Visual Testing That Does Not SuckAutomated Visual Testing That Does Not Suck
Automated Visual Testing That Does Not Suck
 
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the CloudSauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
 
Advanced Automated Visual Testing for Mobile Apps
Advanced Automated Visual Testing for Mobile AppsAdvanced Automated Visual Testing for Mobile Apps
Advanced Automated Visual Testing for Mobile Apps
 
Appium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriverAppium Mobile Test Automation like WebDriver
Appium Mobile Test Automation like WebDriver
 
What's New With Appium? From 1.0 to Now
What's New With Appium? From 1.0 to NowWhat's New With Appium? From 1.0 to Now
What's New With Appium? From 1.0 to Now
 
Visual regression with applitools eyes
Visual regression with applitools eyesVisual regression with applitools eyes
Visual regression with applitools eyes
 
Everything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and SeleniumEverything You Need To Know about Appium and Selenium
Everything You Need To Know about Appium and Selenium
 
Agile iOS
Agile iOSAgile iOS
Agile iOS
 
AIA2018 - Janno Stern - Intro To Product Sprint
AIA2018 - Janno Stern - Intro To Product SprintAIA2018 - Janno Stern - Intro To Product Sprint
AIA2018 - Janno Stern - Intro To Product Sprint
 
Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)Using Selenium to Test Native Apps (Wait, you can do that?)
Using Selenium to Test Native Apps (Wait, you can do that?)
 
Learnings from Hybrid App Testing Jijesh Mohan
Learnings from Hybrid App Testing Jijesh MohanLearnings from Hybrid App Testing Jijesh Mohan
Learnings from Hybrid App Testing Jijesh Mohan
 
Mobile Development with PhoneGap
Mobile Development with PhoneGapMobile Development with PhoneGap
Mobile Development with PhoneGap
 
Launch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with AppurifyLaunch High Performing Mobile Apps with Appurify
Launch High Performing Mobile Apps with Appurify
 
Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)Appium overview (Selenium Israel #2, Feb. 2014)
Appium overview (Selenium Israel #2, Feb. 2014)
 
SMART DESIGN - icon fonts, svg, and the mobile influence
SMART DESIGN - icon fonts, svg, and the mobile influenceSMART DESIGN - icon fonts, svg, and the mobile influence
SMART DESIGN - icon fonts, svg, and the mobile influence
 
Appium meet up noida
Appium meet up noidaAppium meet up noida
Appium meet up noida
 
Salesforce Kerala developer user group meetup
Salesforce Kerala developer user group meetupSalesforce Kerala developer user group meetup
Salesforce Kerala developer user group meetup
 
Appium@Work at PAYBACK
Appium@Work at PAYBACKAppium@Work at PAYBACK
Appium@Work at PAYBACK
 

Viewers also liked

Distributed automation sel_conf_2015
Distributed automation sel_conf_2015Distributed automation sel_conf_2015
Distributed automation sel_conf_2015aragavan
 
Making Your Results Visible - A Test Result Dashboard and Comparison Tool
Making Your Results Visible - A Test Result Dashboard and Comparison ToolMaking Your Results Visible - A Test Result Dashboard and Comparison Tool
Making Your Results Visible - A Test Result Dashboard and Comparison ToolXiaoxing Hu
 
Selenium-based Visual Test Automation
Selenium-based Visual Test AutomationSelenium-based Visual Test Automation
Selenium-based Visual Test AutomationApplitools
 
Selenium Testing Project report
Selenium Testing Project reportSelenium Testing Project report
Selenium Testing Project reportKapil Rajpurohit
 
Integration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaSIntegration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaSAnand Bagmar
 
Synthetic web performance testing with Selenium
Synthetic web performance testing with SeleniumSynthetic web performance testing with Selenium
Synthetic web performance testing with SeleniumAndriy Samilyak
 
CSS Regression Tests with WebdriverCSS
CSS Regression Tests with WebdriverCSSCSS Regression Tests with WebdriverCSS
CSS Regression Tests with WebdriverCSSChristian Bromann
 
UI Testing Automation
UI Testing AutomationUI Testing Automation
UI Testing AutomationAgileEngine
 
Acceptance Testing With Selenium
Acceptance Testing With SeleniumAcceptance Testing With Selenium
Acceptance Testing With Seleniumelliando dias
 
Deploy and Destroy Complete Test Environments
Deploy and Destroy Complete Test EnvironmentsDeploy and Destroy Complete Test Environments
Deploy and Destroy Complete Test EnvironmentsBas Dijkstra
 
Automated testing with visual studio 2010
Automated testing with visual studio 2010Automated testing with visual studio 2010
Automated testing with visual studio 2010Andrew Woodward
 
What you can do with WordPress Heartbeat API
What you can do with WordPress Heartbeat APIWhat you can do with WordPress Heartbeat API
What you can do with WordPress Heartbeat APITabitha Chapman
 
Web UI test automation instruments
Web UI test automation instrumentsWeb UI test automation instruments
Web UI test automation instrumentsArtem Nagornyi
 
Advanced visual testing of web and mobile applications
Advanced visual testing of web and mobile applicationsAdvanced visual testing of web and mobile applications
Advanced visual testing of web and mobile applicationsDenys Zaiats
 
Autoscaled Distributed Automation using AWS at Selenium London MeetUp
Autoscaled Distributed Automation using AWS at Selenium London MeetUpAutoscaled Distributed Automation using AWS at Selenium London MeetUp
Autoscaled Distributed Automation using AWS at Selenium London MeetUparagavan
 
Selenium Testing on Chrome - Google DevFest Armenia 2015
Selenium Testing on Chrome - Google DevFest Armenia 2015Selenium Testing on Chrome - Google DevFest Armenia 2015
Selenium Testing on Chrome - Google DevFest Armenia 2015Sargis Sargsyan
 
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...Pranav Ainavolu
 

Viewers also liked (20)

Distributed automation sel_conf_2015
Distributed automation sel_conf_2015Distributed automation sel_conf_2015
Distributed automation sel_conf_2015
 
Making Your Results Visible - A Test Result Dashboard and Comparison Tool
Making Your Results Visible - A Test Result Dashboard and Comparison ToolMaking Your Results Visible - A Test Result Dashboard and Comparison Tool
Making Your Results Visible - A Test Result Dashboard and Comparison Tool
 
Selenium-based Visual Test Automation
Selenium-based Visual Test AutomationSelenium-based Visual Test Automation
Selenium-based Visual Test Automation
 
Selenium Testing Project report
Selenium Testing Project reportSelenium Testing Project report
Selenium Testing Project report
 
Integration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaSIntegration Testing in Enterprises using TaaS
Integration Testing in Enterprises using TaaS
 
Synthetic web performance testing with Selenium
Synthetic web performance testing with SeleniumSynthetic web performance testing with Selenium
Synthetic web performance testing with Selenium
 
CSS Regression Tests with WebdriverCSS
CSS Regression Tests with WebdriverCSSCSS Regression Tests with WebdriverCSS
CSS Regression Tests with WebdriverCSS
 
Webdriver.io
Webdriver.io Webdriver.io
Webdriver.io
 
UI Testing Automation
UI Testing AutomationUI Testing Automation
UI Testing Automation
 
Acceptance Testing With Selenium
Acceptance Testing With SeleniumAcceptance Testing With Selenium
Acceptance Testing With Selenium
 
Deploy and Destroy Complete Test Environments
Deploy and Destroy Complete Test EnvironmentsDeploy and Destroy Complete Test Environments
Deploy and Destroy Complete Test Environments
 
Automated testing with visual studio 2010
Automated testing with visual studio 2010Automated testing with visual studio 2010
Automated testing with visual studio 2010
 
What you can do with WordPress Heartbeat API
What you can do with WordPress Heartbeat APIWhat you can do with WordPress Heartbeat API
What you can do with WordPress Heartbeat API
 
Web UI test automation instruments
Web UI test automation instrumentsWeb UI test automation instruments
Web UI test automation instruments
 
Sikuli script
Sikuli scriptSikuli script
Sikuli script
 
Advanced visual testing of web and mobile applications
Advanced visual testing of web and mobile applicationsAdvanced visual testing of web and mobile applications
Advanced visual testing of web and mobile applications
 
Autoscaled Distributed Automation using AWS at Selenium London MeetUp
Autoscaled Distributed Automation using AWS at Selenium London MeetUpAutoscaled Distributed Automation using AWS at Selenium London MeetUp
Autoscaled Distributed Automation using AWS at Selenium London MeetUp
 
Selenium Testing on Chrome - Google DevFest Armenia 2015
Selenium Testing on Chrome - Google DevFest Armenia 2015Selenium Testing on Chrome - Google DevFest Armenia 2015
Selenium Testing on Chrome - Google DevFest Armenia 2015
 
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
Automated Testing & Auto Scaling your Apps with Microsoft & Open Source Techn...
 
Automated testing 101
Automated testing 101Automated testing 101
Automated testing 101
 

Similar to SeConf2015: Advanced Automated Visual Testing With Selenium

Automated Visual Testing That Doesn't Suck!
Automated Visual Testing That Doesn't Suck!Automated Visual Testing That Doesn't Suck!
Automated Visual Testing That Doesn't Suck!Applitools
 
Colorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latestColorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latestOnur Baskirt
 
Adam carmi
Adam carmiAdam carmi
Adam carmiCodeFest
 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 mayLuciano Amodio
 
Building Your Own Native App Visual Testing Module with Appium
Building Your Own Native App Visual Testing Module with AppiumBuilding Your Own Native App Visual Testing Module with Appium
Building Your Own Native App Visual Testing Module with AppiumWim Selles
 
Building Your Own Native App Visual Testing Module with Appium by Wim Selles
Building Your Own Native App Visual Testing Module with Appium by Wim SellesBuilding Your Own Native App Visual Testing Module with Appium by Wim Selles
Building Your Own Native App Visual Testing Module with Appium by Wim SellesSauce Labs
 
Building Your Own Native App Visual Testing Module with Appium
Building Your Own Native App  Visual Testing Module with AppiumBuilding Your Own Native App  Visual Testing Module with Appium
Building Your Own Native App Visual Testing Module with AppiumWim Selles
 
Evolving Mobile Architectures
Evolving Mobile ArchitecturesEvolving Mobile Architectures
Evolving Mobile Architecturessgleadow
 
Zagat.com Case Study (DrupalCon Denver 2012)
Zagat.com Case Study (DrupalCon Denver 2012)Zagat.com Case Study (DrupalCon Denver 2012)
Zagat.com Case Study (DrupalCon Denver 2012)Phase2
 
Building Mobile Optimized Websites
Building Mobile Optimized WebsitesBuilding Mobile Optimized Websites
Building Mobile Optimized Websiteshaxorize
 
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villaresrayvillares
 
Тестирование мобильных приложений используя облачные сервисы. TestDroid, Test...
Тестирование мобильных приложений используя облачные сервисы. TestDroid, Test...Тестирование мобильных приложений используя облачные сервисы. TestDroid, Test...
Тестирование мобильных приложений используя облачные сервисы. TestDroid, Test...COMAQA.BY
 
Java Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and MobileJava Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and MobileElias Nogueira
 
How Concur Technologies (a SAP company) Leverages Visual Testing for Localiza...
How Concur Technologies (a SAP company) Leverages Visual Testing for Localiza...How Concur Technologies (a SAP company) Leverages Visual Testing for Localiza...
How Concur Technologies (a SAP company) Leverages Visual Testing for Localiza...Applitools
 
ASPNET Roadmap
ASPNET RoadmapASPNET Roadmap
ASPNET Roadmapukdpe
 
Web Test Automation Framework - IndicThreads Conference
Web Test Automation Framework  - IndicThreads ConferenceWeb Test Automation Framework  - IndicThreads Conference
Web Test Automation Framework - IndicThreads ConferenceIndicThreads
 
GermaniumWeb training for CXA2010
GermaniumWeb training for CXA2010GermaniumWeb training for CXA2010
GermaniumWeb training for CXA2010ianloh13
 
Front-End Engineering 101
Front-End Engineering 101Front-End Engineering 101
Front-End Engineering 101Milan Korsos
 
Technical Deep Dive Into Atlassian's New Apps Performance Testing Framework
Technical Deep Dive Into Atlassian's New Apps Performance Testing FrameworkTechnical Deep Dive Into Atlassian's New Apps Performance Testing Framework
Technical Deep Dive Into Atlassian's New Apps Performance Testing FrameworkAtlassian
 
Visual Automation Framework via Screenshot Comparison
Visual Automation Framework via Screenshot ComparisonVisual Automation Framework via Screenshot Comparison
Visual Automation Framework via Screenshot ComparisonMek Srunyu Stittri
 

Similar to SeConf2015: Advanced Automated Visual Testing With Selenium (20)

Automated Visual Testing That Doesn't Suck!
Automated Visual Testing That Doesn't Suck!Automated Visual Testing That Doesn't Suck!
Automated Visual Testing That Doesn't Suck!
 
Colorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latestColorful world-of-visual-automation-testing-latest
Colorful world-of-visual-automation-testing-latest
 
Adam carmi
Adam carmiAdam carmi
Adam carmi
 
Angular js mobile jsday 2014 - Verona 14 may
Angular js mobile   jsday 2014 - Verona 14 mayAngular js mobile   jsday 2014 - Verona 14 may
Angular js mobile jsday 2014 - Verona 14 may
 
Building Your Own Native App Visual Testing Module with Appium
Building Your Own Native App Visual Testing Module with AppiumBuilding Your Own Native App Visual Testing Module with Appium
Building Your Own Native App Visual Testing Module with Appium
 
Building Your Own Native App Visual Testing Module with Appium by Wim Selles
Building Your Own Native App Visual Testing Module with Appium by Wim SellesBuilding Your Own Native App Visual Testing Module with Appium by Wim Selles
Building Your Own Native App Visual Testing Module with Appium by Wim Selles
 
Building Your Own Native App Visual Testing Module with Appium
Building Your Own Native App  Visual Testing Module with AppiumBuilding Your Own Native App  Visual Testing Module with Appium
Building Your Own Native App Visual Testing Module with Appium
 
Evolving Mobile Architectures
Evolving Mobile ArchitecturesEvolving Mobile Architectures
Evolving Mobile Architectures
 
Zagat.com Case Study (DrupalCon Denver 2012)
Zagat.com Case Study (DrupalCon Denver 2012)Zagat.com Case Study (DrupalCon Denver 2012)
Zagat.com Case Study (DrupalCon Denver 2012)
 
Building Mobile Optimized Websites
Building Mobile Optimized WebsitesBuilding Mobile Optimized Websites
Building Mobile Optimized Websites
 
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares
“Building Mobile Optimized Websites,” Nick Bourgeois / Ray Villares
 
Тестирование мобильных приложений используя облачные сервисы. TestDroid, Test...
Тестирование мобильных приложений используя облачные сервисы. TestDroid, Test...Тестирование мобильных приложений используя облачные сервисы. TestDroid, Test...
Тестирование мобильных приложений используя облачные сервисы. TestDroid, Test...
 
Java Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and MobileJava Test Automation for REST, Web and Mobile
Java Test Automation for REST, Web and Mobile
 
How Concur Technologies (a SAP company) Leverages Visual Testing for Localiza...
How Concur Technologies (a SAP company) Leverages Visual Testing for Localiza...How Concur Technologies (a SAP company) Leverages Visual Testing for Localiza...
How Concur Technologies (a SAP company) Leverages Visual Testing for Localiza...
 
ASPNET Roadmap
ASPNET RoadmapASPNET Roadmap
ASPNET Roadmap
 
Web Test Automation Framework - IndicThreads Conference
Web Test Automation Framework  - IndicThreads ConferenceWeb Test Automation Framework  - IndicThreads Conference
Web Test Automation Framework - IndicThreads Conference
 
GermaniumWeb training for CXA2010
GermaniumWeb training for CXA2010GermaniumWeb training for CXA2010
GermaniumWeb training for CXA2010
 
Front-End Engineering 101
Front-End Engineering 101Front-End Engineering 101
Front-End Engineering 101
 
Technical Deep Dive Into Atlassian's New Apps Performance Testing Framework
Technical Deep Dive Into Atlassian's New Apps Performance Testing FrameworkTechnical Deep Dive Into Atlassian's New Apps Performance Testing Framework
Technical Deep Dive Into Atlassian's New Apps Performance Testing Framework
 
Visual Automation Framework via Screenshot Comparison
Visual Automation Framework via Screenshot ComparisonVisual Automation Framework via Screenshot Comparison
Visual Automation Framework via Screenshot Comparison
 

Recently uploaded

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️Delhi Call girls
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsAlberto González Trastoy
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about usDynamic Netsoft
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...MyIntelliSource, Inc.
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...MyIntelliSource, Inc.
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....ShaimaaMohamedGalal
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVshikhaohhpro
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionSolGuruz
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxComplianceQuest1
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️anilsa9823
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfCionsystems
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerThousandEyes
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendArshad QA
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providermohitmore19
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...panagenda
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...harshavardhanraghave
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxbodapatigopi8531
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software DevelopersVinodh Ram
 

Recently uploaded (20)

call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
call girls in Vaishali (Ghaziabad) 🔝 >༒8448380779 🔝 genuine Escort Service 🔝✔️✔️
 
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time ApplicationsUnveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
Unveiling the Tech Salsa of LAMs with Janus in Real-Time Applications
 
Microsoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdfMicrosoft AI Transformation Partner Playbook.pdf
Microsoft AI Transformation Partner Playbook.pdf
 
DNT_Corporate presentation know about us
DNT_Corporate presentation know about usDNT_Corporate presentation know about us
DNT_Corporate presentation know about us
 
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
Steps To Getting Up And Running Quickly With MyTimeClock Employee Scheduling ...
 
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
Try MyIntelliAccount Cloud Accounting Software As A Service Solution Risk Fre...
 
Clustering techniques data mining book ....
Clustering techniques data mining book ....Clustering techniques data mining book ....
Clustering techniques data mining book ....
 
Optimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTVOptimizing AI for immediate response in Smart CCTV
Optimizing AI for immediate response in Smart CCTV
 
Diamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with PrecisionDiamond Application Development Crafting Solutions with Precision
Diamond Application Development Crafting Solutions with Precision
 
A Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docxA Secure and Reliable Document Management System is Essential.docx
A Secure and Reliable Document Management System is Essential.docx
 
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online  ☂️
CALL ON ➥8923113531 🔝Call Girls Kakori Lucknow best sexual service Online ☂️
 
Active Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdfActive Directory Penetration Testing, cionsystems.com.pdf
Active Directory Penetration Testing, cionsystems.com.pdf
 
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected WorkerHow To Troubleshoot Collaboration Apps for the Modern Connected Worker
How To Troubleshoot Collaboration Apps for the Modern Connected Worker
 
Test Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and BackendTest Automation Strategy for Frontend and Backend
Test Automation Strategy for Frontend and Backend
 
TECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service providerTECUNIQUE: Success Stories: IT Service provider
TECUNIQUE: Success Stories: IT Service provider
 
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
W01_panagenda_Navigating-the-Future-with-The-Hitchhikers-Guide-to-Notes-and-D...
 
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICECHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
CHEAP Call Girls in Pushp Vihar (-DELHI )🔝 9953056974🔝(=)/CALL GIRLS SERVICE
 
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
Reassessing the Bedrock of Clinical Function Models: An Examination of Large ...
 
Hand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptxHand gesture recognition PROJECT PPT.pptx
Hand gesture recognition PROJECT PPT.pptx
 
Professional Resume Template for Software Developers
Professional Resume Template for Software DevelopersProfessional Resume Template for Software Developers
Professional Resume Template for Software Developers
 

SeConf2015: Advanced Automated Visual Testing With Selenium

  • 1. Adam Carmi (@carmiadam) Co-Founder and VP R&D at Applitools adam.carmi@applitools.com ADVANCED AUTOMATED VISUAL TESTING WITH SELENIUM
  • 2. YOU CAN AND SHOULD AUTOMATE YOUR VISUAL TESTS!
  • 3.
  • 4. AGENDA  Why automatedvisualtesting?  Tools& Technology  Where does it fit?  Q & A
  • 5. WHAT IS VISUAL TESTING? A qualityassurance activity aimed to verify that a Graphical User Interface appears correctly to users
  • 8. AMAZON PRIME DAY – JULY 15th, 2015
  • 9. WHY SHOULD IT BE AUTOMATED? THE TEST MATRIX IS TOO BIG TO COVER MANUALLY  Webbrowsers  Devices  Operatingsystems  Screen resolutions  Responsivedesign  L10n  3rd Partyupgrades
  • 10. WHY SHOULD IT BE AUTOMATED?
  • 11. WHY SHOULD IT BE AUTOMATED? NATIVE / HYBRID MOBILE APPS  Harder to roll back changes  Can’t pushdaily  Updates take battery and data  Higherquality bar
  • 12. WHY SHOULD IT BE AUTOMATED? Many are already doing it… PhantomCSS Fighting Layout Bugs CSS Critc Wraith Needle Grunt PhotoBox dpdxt WebdriverCSS Eyes Huxley FBSnapshotTestCase Gemini Selenium Visual Diff VisualCeption Specter Snap And Compare kobold
  • 13. AGENDA  Why automatedvisualtesting?  Tools & Technology  Where does it fit?  Q & A
  • 14. THE WORKFLOW Drive the AUT and take screenshots Compare screenshots with baseline images Report differences Update the baseline
  • 16. THE WORKFLOW Drive the AUT and take screenshots Compare screenshots with baseline images Report differences Update the baseline
  • 17. SCREENSHOTS  Full page?  Regions?  Frames?  Device pixel ratio?  Rotation?  Viewport size?  Page preparation?  Page stabilization?
  • 18. QUICK FEEDBACK TOOLS MOTIVATION  Get fast feedback on code changes  Run tests locally in the background SETUP  Render screenshots with a headless browser  PhatomJS, SlimerJS  Configuration file driven tests CONS  Partial coverage  Chrome, IE?  Limited navigation  Tests stale browser versions
  • 19. VISUAL COVERAGE TOOLS MOTIVATION  Verify that the app / site looks right in all real execution environments  Test as many UI states as possible  Execute many tests in parallel SETUP  Render screenshots using real browsers on a variety of operating systems and devices in parallel  WebDriver, Grid  Code driven tests  WebDriver, DSLCONS  Requires test infrastructure  Implement and maintain test code
  • 20. SELENIUM BASED TOOLS CODE / SCRIPT  Needle (Python WD)  WebDriverCss (JS WebDriverIO)  Gemini (JS DSL)  Selenium Visual Diff (Java WD)  VisualCeption (PHP CodeCeption)  Pix-Diff (JS Protractor)  Shoov (JS WebDriverIO)  Vizregress (.NET WD)  Rspec Page Regression (Capibara)  Applitools Eyes (All WD + Appium)  Fighting Layout Bugs (Java WebDriver) CONFIGURATION  Viff  CSS Visual Test  GreenOnion  Wraith-Selenium
  • 21. NON-SELENIUM BASED TOOLS CODE / SCRIPT  PhantomCSS (JS CasperJS)  Specter (JS DSL)  FBSnapshotTestCase (XCTest) CONFIGURATION  Wraith  Dpdxt  Grunt PhotoBox  Grunt-Vigo  Snap And Compare  BackstopJS  CSSCritic  Kobold  DiffCop  SUCCSS MANUAL  Eyes Express (Chrome)
  • 22. THE WORKFLOW Drive the AUT and take screenshots Compare screenshots with baseline images Report differences Update the baseline
  • 23.
  • 34. ANDMORE… 1 pixeloffsets in elementpositioning Dynamic content Movingelements Images ofdifferentsize Performance
  • 35.
  • 37. ImageMagick  A powerful command linetool for image processing.  APIs are available for most programming languages.  Fuzzing is used to eliminateslight color differences  An error ratio is usually used to determine a match $ compare –metric AE –fuzz 5% img1.png img2.png diff.png 2246
  • 38. The Javascript Engines  Resemble.js Pixel bypixel + errorratio + anti-aliasing http://huddle.github.io/Resemble.js  Blink-Diff Pixel by pixel + errorratio + anti-aliasing + perceptual colordistance computation https://github.com/yahoo/blink-diff  Looks-Same Pixel by pixel + perceptual color distance computation + ignore Caret https://github.com/gemini-testing/looks-same
  • 39. Applitools Eyes  A specialized image processing stackdesigned to compare computer generated UI images  Handles anti-aliasing,pixel offsets, color similarity, and image scaling  Dynamic and moving content  Compare images of different sizes  No error ratio configuration required  Validates full UI pages  Fast!  Supports layout matching
  • 40. DEMO
  • 41. THE WORKFLOW Drive the AUT and take screenshots Compare screenshots with baseline images Report differences Update the baseline
  • 42. REPORT DIFFERENCES As files on the file system (combined with source control)
  • 43. REPORT DIFFERENCES As a Gallery (example from Selenium Visual Diff)
  • 44. THE WORKFLOW Drive the AUT and take screenshots Compare screenshots with baseline images Report differences Update the baseline
  • 45. UPDATE THE BASELINE  Rename or commit individualimage files  GUI (GeminiGUI)
  • 46. UPDATE THE BASELINE  Overwrite mode  Automatic maintenance (ApplitoolsEyes)
  • 47. AGENDA  Why automatedvisualtesting?  Tools& Technology  Where does it fit?  Q & A
  • 48. WHERE DOES IT FIT? • Component s • Code review • Developers • Designers • QA Visual testing of frontend components by frontend developers
  • 49. WHERE DOES IT FIT? • Pages • Page sections • Developers • Designers • QA • Others Full or partial validation of application screens A collaboration tool
  • 50. WHERE DOES IT FIT? • Staging vs. Production • Ops • QA Validate your staging deployment using your production deployment as a baseline
  • 51. WHERE DOES IT FIT? • Monitoring • Ops • QA No missing resources in production No corruption due to 3rd party data No corruption due to browser / OS upgrades
  • 53. Adam Carmi (@carmiadam) Co-Founder and VP R&D at Applitools adam.carmi@applitools.com THANK YOU

Editor's Notes

  1. Most tools are for web apps except for FBSnapshotTestCase which is for IOS and Eyes which is platform agnostic.
  2. * Does not apply to fighting layout bugs.
  3. * Does not apply to fighting layout bugs.
  4. * Does not apply to fighting layout bugs.
  5. Like Boromir said…
  6. * Does not apply to fighting layout bugs.
  7. * Does not apply to fighting layout bugs.
  8. CSS files and HTML falling out of sync CSS changes with unexpected global implications. Frontend refactoring.
  9. Project / Product managers (collaboration)