SlideShare a Scribd company logo
© Copyright 2015 Coveros, Inc. All rights reserved.
Compatibility Testing Your
Web Apps
Tips and Tricks for Debugging Locally
Before you go to the Cloud
October 1st
Max Saperstone
© Copyright 2015 Coveros, Inc. All rights reserved.
Agenda
● Introduction
● Initial Tests
● How Sites are built
● Testing Techniques
● How Coveros Can Help
● Questions
© Copyright 2015 Coveros, Inc. All rights reserved.
Introduction
© Copyright 2015 Coveros, Inc. All rights reserved.
Max Saperstone
Max Saperstone has been working as a Software and Test Engineer for almost a
decade, with a focus on Test Automation and the CI/CD process. He specializes
in open source tools, including the Selenium Tool Suite, JMeter, AutoIT,
Cucumber, and Chef. Max has lead several testing automation efforts, including
developing an automated suite focusing on web-based software to operate over
several applications for Kronos Federal. He also headed a project with Delta
Dental, developing an automated testing structure to run Cucumber tests over
multiple test interfaces and environments, while also developing a system to
keep test data ‘ageless.’ He recently released a new testing architecture for
SecureCI™ to allow testing of multiple interfaces, custom reporting, and minimal
test upkeep. After completing an implementation of the Active Authentication for
android devices, he is currently deep in the mobile testing world, working with
open source tools such as Robotium and Selendroid.
Max has spoken at multiple conferences including StarEast, StarWest, Mobile
Dev and Test, and AgileDC
© Copyright 2015 Coveros, Inc. All rights reserved.
What is Selenium IDE
● Selenium IDE is a complete integrated development
environment (IDE) for Selenium tests
● It is implemented as a Firefox Add-On
● It allows recording, editing, and debugging tests
● Scripts are recorded in Selenese, a special test scripting
language for Selenium
● Selenese provides commands for performing actions in a
browser (click a link, select an option), and for retrieving
data from the resulting pages
© Copyright 2015 Coveros, Inc. All rights reserved.
Selenium IDE Features
● Easy record and playback
● (Semi) Intelligent field selection will use IDs, names, or
XPath as needed
● Autocomplete for all common Selenium commands
● Walk through tests
● Debug and set breakpoints
● Save tests as HTML, Ruby scripts, or any other format
● Support for Selenium user-extensions.js file
● Easy customization through plugins
© Copyright 2015 Coveros, Inc. All rights reserved.
Initial Tests
© Copyright 2015 Coveros, Inc. All rights reserved.
What Went Wrong
● Many Tests Failed
● Upon Analysis, it was Android and iPhone tests
● Amazon Test
○ Different titles appeared
● Coveros Test
○ ‘Search’ button wasn’t present
● Google
○ ‘I’m Feeling Lucky’ button wasn’t present
● GoogleSearch
○ Without the ‘I’m Feeling Lucky’ button, the search can’t be performed
● Target
○ We were forwarded to a completely separate site
© Copyright 2015 Coveros, Inc. All rights reserved.
How Sites are Built
© Copyright 2015 Coveros, Inc. All rights reserved.
Non-Responsive Site
A non-responsive web application is one that responds the
same way all devices. The same information is displayed on
a laptop’s web browser as it would on a mobile device.
Advantages
● Less Expensive
● Less Complex
● The mobile web world is changing really fast
● Easier to design tests
Disadvantages
● Information may be harder to read
● Buttons and links may be more difficult to click
© Copyright 2015 Coveros, Inc. All rights reserved.
Separate Sites
Having a separate Mobile Site is an approach that is also
used to provide a better mobile experience by redirecting
mobile users to a separate site optimized for mobile use
Advantages
● Better mobile experience
● Less complex site design
Disadvantages
● SEO penalties
● Dual code maintenance
● Links don’t transfer
© Copyright 2015 Coveros, Inc. All rights reserved.
Responsive Site
Responsive Web design is an approach that suggests that
an app should respond to the user’s behavior and
environment based on screen size, platform and orientation
Advantages
● The app is easy to use with all interfaces
● Design looks good on any interface
● Don’t have to redesign the site for each new device
Disadvantages
● May suffer from performance issues
● More expensive to design, develop and test
© Copyright 2015 Coveros, Inc. All rights reserved.
Types of Responsive Sites
There are two ways to design a responsive web app
Responsive Design Website
● Responsive design sites adapt the layout to the available
view
● Utilize HTML5, CSS3, and Javascript
Dynamic Serving Website
● Dynamic serving allows the server to respond with
different HTML (and content) from the same URL
● Based on the user-agent passed to the server device
specific information will be returned
© Copyright 2015 Coveros, Inc. All rights reserved.
Types of Responsive Sites (cont.)
Responsive Design Website Advantages
● Makes it easier for users to share and link to your content
with a single URL
● Requires less engineering time to maintain multiple
pages for the same content
● Less resource intensive on server
Dynamic Serving Website Advantages
● Only one URL, no need for redirection
● Browsers don’t need to use HTML5
● Doesn’t require powerful client devices for CSS and JS
© Copyright 2015 Coveros, Inc. All rights reserved.
Testing Techniques
© Copyright 2015 Coveros, Inc. All rights reserved.
Techniques for Simulating Different Devices
● Desktop browsers like Chrome and Firefox have many
tools to effectively use user-agents to simulate multiple
mobile browser types with little or no cost
○ Chrome ‘device mode’
○ User Agent Switchers
● Simulation does not mimic hardware or software of
mobile device, just displays similar data
● Use Selenium IDE’s ‘find’ button to see how elements
change
○ When changing screen size
○ When changing user-agent
© Copyright 2015 Coveros, Inc. All rights reserved.
Techniques for Fixing Tests Locally
● Create functional tests following unit testing best practices
○ Test as small pieces as possible
○ Don’t include loops or conditional statements
● Avoid using XPath and CSS for locators based on
structure
○ Only use XPath or CSS when elements change id and class between
sites (typical with dynamic serving)
● Use Regular Expressions when needed for asserts
● When testing workflows, create ones that work for all sites
● When testing if elements exist/are visible, create separate
mobile and desktop tests
● TestNG might be more helpful for specifying different
browsers for each test
© Copyright 2015 Coveros, Inc. All rights reserved.
Debugging and Testing Workflow
● Start in Selenium IDE
○ Write/Record tests in
Selenium IDE
○ Execute tests in Selenium
IDE
○ Note issues, debug, and fix
○ Resize browser to smaller
window
○ Re-run tests in Selenium IDE
○ Note issues, debug, and fix
○ Set user-agent switcher to
mobile device
○ Re-run tests in Selenium IDE
○ Note issues, debug, and fix
○ Export tests to language of
choice
● Test from IDE
○ Execute tests in IDE
○ Note issues, debug, and fix
○ Resize browser to smaller
window
○ Re-run tests in IDE
○ Note issues, debug, and fix
○ Set to profile with user-agent
switcher set for mobile device
○ Re-run tests in IDE
○ Note issues, debug, and fix
● Test in the Cloud
○ Emulators can be more
simply used than simulators
○ Utilize frameworks already
established for cloud provider
© Copyright 2015 Coveros, Inc. All rights reserved.
Re-Run Tests
© Copyright 2015 Coveros, Inc. All rights reserved.
Sample Code - Locally Simulating
/**
* Constructs a new instance of the test. The constructor requires four
* string parameters, which represent the device, device size, and browser
* with the user agent switcher.
* @param device
* @param width
* @param height
* @param profile
*/
public LocalSimulationTest(String device, int width, int height, String profile) {
super();
this.device = device;
this.width = width;
this.height = height;
this.profile = profile;
}
© Copyright 2015 Coveros, Inc. All rights reserved.
Sample Code - Locally Simulating
/**
* @return a LinkedList containing arrays representing the browser
* combinations the test should be run against. The values in the array are used
* as part of the invocation of the test constructor
*/
@SuppressWarnings({ "rawtypes", "unchecked" })
@ConcurrentParameterized.Parameters
public static LinkedList browsers() {
LinkedList browsers = new LinkedList();
browsers.add(new String[]{"desktop", "1920", "1080", "DESKTOP"});
browsers.add(new String[]{"iphone4", "320", "480", "IPHONE"});
browsers.add(new String[]{"iphone6p", "414", "736", "IPHONE"});
browsers.add(new String[]{"galaxys4", "480", "640", "ANDROID"});
return browsers;
}
© Copyright 2015 Coveros, Inc. All rights reserved.
Sample Code - Locally Simulating
/**
* Constructs a new {@link FirefoxDriver} instance which is configured to use
* the capabilities defined by the {@link #device}. {@link #width}, {@link
* #height} and {@link #profile} instance variables will determine how to
* configure our simulator to have everything run smoothly locally.
* @throws Exception if an error occurs during the creation of the {@link
* FirefoxDriver} instance.
*/
@Before
public void setUp() throws Exception {
//Load our local profile for firefox browser
ProfilesIni profileIni = new ProfilesIni();
FirefoxProfile ffprofile = profileIni.getProfile(profile);
this.driver = new FirefoxDriver(ffprofile);
//Resize the current window to the given dimension
Dimension d = new Dimension(Integer.valueOf(width),Integer.valueOf(height));
this.driver.manage().window().setSize(d);
}
© Copyright 2015 Coveros, Inc. All rights reserved.
Wrap-Up
© Copyright 2015 Coveros, Inc. All rights reserved.
About Coveros
● Coveros helps organizations accelerate the delivery of secure,
reliable software
● Our consulting services:
○ Agile software development
○ Application security
○ Software quality assurance
○ Software process improvement
● Our key markets:
○ Financial services
○ Healthcare
○ Defense
○ Critical Infrastructure
Development Capabilities
© Copyright 2015 Coveros, Inc. All rights reserved.
Questions
Max Saperstone
max.saperstone@coveros.com

More Related Content

What's hot

Continuous delivery mobile application development
Continuous delivery mobile application developmentContinuous delivery mobile application development
Continuous delivery mobile application developmentThoughtworks
 
TechTalk: Getting to Know Perfecto
TechTalk: Getting to Know PerfectoTechTalk: Getting to Know Perfecto
TechTalk: Getting to Know Perfecto
Lizzy Guido (she/her)
 
10 Emerging Test Frameworks for Cross Browser Testing
10 Emerging Test Frameworks for Cross Browser Testing10 Emerging Test Frameworks for Cross Browser Testing
10 Emerging Test Frameworks for Cross Browser Testing
Perfecto by Perforce
 
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Applitools
 
TechTalk: Get to Know Perfecto
TechTalk: Get to Know Perfecto TechTalk: Get to Know Perfecto
TechTalk: Get to Know Perfecto
Lizzy Guido (she/her)
 
Automated Visual Testing in NSW.Gov.AU
Automated Visual Testing in NSW.Gov.AUAutomated Visual Testing in NSW.Gov.AU
Automated Visual Testing in NSW.Gov.AU
Applitools
 
Top 5 Features To Look for in a Codeless Automation Solution -- Presentation ...
Top 5 Features To Look for in a Codeless Automation Solution -- Presentation ...Top 5 Features To Look for in a Codeless Automation Solution -- Presentation ...
Top 5 Features To Look for in a Codeless Automation Solution -- Presentation ...
Applitools
 
5 Keys to Your Best Automated Testing Strategy
5 Keys to Your Best Automated Testing Strategy5 Keys to Your Best Automated Testing Strategy
5 Keys to Your Best Automated Testing Strategy
SOASTA
 
Modern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the PresentModern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the Present
SOASTA
 
Exercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the EnterpriseExercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the Enterprise
Bitbar
 
Bringing Quality Design Systems to Life with Storybook & Applitools
Bringing Quality Design Systems to Life with Storybook & ApplitoolsBringing Quality Design Systems to Life with Storybook & Applitools
Bringing Quality Design Systems to Life with Storybook & Applitools
Applitools
 
Amalgamation of BDD, parallel execution and mobile automation
Amalgamation of BDD, parallel execution and mobile automationAmalgamation of BDD, parallel execution and mobile automation
Amalgamation of BDD, parallel execution and mobile automation
Agile Testing Alliance
 
Automated Visual Testing at Scale : Real-life Example from Dow Jones
Automated Visual Testing at Scale : Real-life Example from Dow JonesAutomated Visual Testing at Scale : Real-life Example from Dow Jones
Automated Visual Testing at Scale : Real-life Example from Dow Jones
Applitools
 
Advanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive WebAdvanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive Web
Perfecto by Perforce
 
ESLint Plugin for UI Tests
ESLint Plugin for UI TestsESLint Plugin for UI Tests
ESLint Plugin for UI Tests
Applitools
 
ATAGTR2017 SPEAKING EYE for differently abled people to see the web content
ATAGTR2017 SPEAKING EYE for differently abled people to see the web contentATAGTR2017 SPEAKING EYE for differently abled people to see the web content
ATAGTR2017 SPEAKING EYE for differently abled people to see the web content
Agile Testing Alliance
 
Automation of Security scanning easy or cheese?
Automation of Security scanning easy or cheese?Automation of Security scanning easy or cheese?
Automation of Security scanning easy or cheese?
Dmitriy Gumeniuk
 
"Software Quality in the Service of Innovation in the Insurance Industry"
"Software Quality in the Service of Innovation in the Insurance Industry""Software Quality in the Service of Innovation in the Insurance Industry"
"Software Quality in the Service of Innovation in the Insurance Industry"
Applitools
 
Integrate Visual AI Into Your Appium Scripts in Minutes
Integrate Visual AI Into Your Appium Scripts in MinutesIntegrate Visual AI Into Your Appium Scripts in Minutes
Integrate Visual AI Into Your Appium Scripts in Minutes
Applitools
 
1, 2, 3 build - continuous integration for mobile apps
1, 2, 3   build - continuous integration for mobile apps1, 2, 3   build - continuous integration for mobile apps
1, 2, 3 build - continuous integration for mobile apps
Alexander Pacha
 

What's hot (20)

Continuous delivery mobile application development
Continuous delivery mobile application developmentContinuous delivery mobile application development
Continuous delivery mobile application development
 
TechTalk: Getting to Know Perfecto
TechTalk: Getting to Know PerfectoTechTalk: Getting to Know Perfecto
TechTalk: Getting to Know Perfecto
 
10 Emerging Test Frameworks for Cross Browser Testing
10 Emerging Test Frameworks for Cross Browser Testing10 Emerging Test Frameworks for Cross Browser Testing
10 Emerging Test Frameworks for Cross Browser Testing
 
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
Testing Hourglass at Jira Frontend - by Alexey Shpakov, Sr. Developer @ Atlas...
 
TechTalk: Get to Know Perfecto
TechTalk: Get to Know Perfecto TechTalk: Get to Know Perfecto
TechTalk: Get to Know Perfecto
 
Automated Visual Testing in NSW.Gov.AU
Automated Visual Testing in NSW.Gov.AUAutomated Visual Testing in NSW.Gov.AU
Automated Visual Testing in NSW.Gov.AU
 
Top 5 Features To Look for in a Codeless Automation Solution -- Presentation ...
Top 5 Features To Look for in a Codeless Automation Solution -- Presentation ...Top 5 Features To Look for in a Codeless Automation Solution -- Presentation ...
Top 5 Features To Look for in a Codeless Automation Solution -- Presentation ...
 
5 Keys to Your Best Automated Testing Strategy
5 Keys to Your Best Automated Testing Strategy5 Keys to Your Best Automated Testing Strategy
5 Keys to Your Best Automated Testing Strategy
 
Modern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the PresentModern Load Testing: Move Your Load Testing from the Past to the Present
Modern Load Testing: Move Your Load Testing from the Past to the Present
 
Exercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the EnterpriseExercising and Scaling Up Mobile DevOps in the Enterprise
Exercising and Scaling Up Mobile DevOps in the Enterprise
 
Bringing Quality Design Systems to Life with Storybook & Applitools
Bringing Quality Design Systems to Life with Storybook & ApplitoolsBringing Quality Design Systems to Life with Storybook & Applitools
Bringing Quality Design Systems to Life with Storybook & Applitools
 
Amalgamation of BDD, parallel execution and mobile automation
Amalgamation of BDD, parallel execution and mobile automationAmalgamation of BDD, parallel execution and mobile automation
Amalgamation of BDD, parallel execution and mobile automation
 
Automated Visual Testing at Scale : Real-life Example from Dow Jones
Automated Visual Testing at Scale : Real-life Example from Dow JonesAutomated Visual Testing at Scale : Real-life Example from Dow Jones
Automated Visual Testing at Scale : Real-life Example from Dow Jones
 
Advanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive WebAdvanced Strategies for Testing Responsive Web
Advanced Strategies for Testing Responsive Web
 
ESLint Plugin for UI Tests
ESLint Plugin for UI TestsESLint Plugin for UI Tests
ESLint Plugin for UI Tests
 
ATAGTR2017 SPEAKING EYE for differently abled people to see the web content
ATAGTR2017 SPEAKING EYE for differently abled people to see the web contentATAGTR2017 SPEAKING EYE for differently abled people to see the web content
ATAGTR2017 SPEAKING EYE for differently abled people to see the web content
 
Automation of Security scanning easy or cheese?
Automation of Security scanning easy or cheese?Automation of Security scanning easy or cheese?
Automation of Security scanning easy or cheese?
 
"Software Quality in the Service of Innovation in the Insurance Industry"
"Software Quality in the Service of Innovation in the Insurance Industry""Software Quality in the Service of Innovation in the Insurance Industry"
"Software Quality in the Service of Innovation in the Insurance Industry"
 
Integrate Visual AI Into Your Appium Scripts in Minutes
Integrate Visual AI Into Your Appium Scripts in MinutesIntegrate Visual AI Into Your Appium Scripts in Minutes
Integrate Visual AI Into Your Appium Scripts in Minutes
 
1, 2, 3 build - continuous integration for mobile apps
1, 2, 3   build - continuous integration for mobile apps1, 2, 3   build - continuous integration for mobile apps
1, 2, 3 build - continuous integration for mobile apps
 

Viewers also liked

browser compatibility testing
browser compatibility testingbrowser compatibility testing
browser compatibility testing
Lakshmi Nandoor
 
Mobile testing
Mobile testingMobile testing
Mobile testingAlex Hung
 
7 1-1 soap-developers_guide
7 1-1 soap-developers_guide7 1-1 soap-developers_guide
7 1-1 soap-developers_guide
Nugroho Hermanto
 
Web Application Software Testing
Web Application Software TestingWeb Application Software Testing
Web Application Software Testing
Andrew Kandels
 
Don't Drop the SOAP: Real World Web Service Testing for Web Hackers
Don't Drop the SOAP: Real World Web Service Testing for Web Hackers Don't Drop the SOAP: Real World Web Service Testing for Web Hackers
Don't Drop the SOAP: Real World Web Service Testing for Web Hackers
Tom Eston
 
Mobile applications testing
Mobile applications testingMobile applications testing
Mobile applications testing
Rahul Ranjan
 
Testing Mobile Apps
Testing Mobile AppsTesting Mobile Apps
Testing Mobile Apps
Suresh Kumar
 
Testing on Android
Testing on AndroidTesting on Android
Testing on Android
Ari Lacenski
 
How to make your app successful with mobile app testing?
How to make your app successful with mobile app testing?How to make your app successful with mobile app testing?
How to make your app successful with mobile app testing?
MobilePundits
 
How to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App TestingHow to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App Testing
Daniel Knott
 
Mobile App Testing by Mark Wilson
Mobile App Testing by Mark WilsonMobile App Testing by Mark Wilson
Mobile App Testing by Mark Wilson
phpwgtn
 
Introduction to android testing
Introduction to android testingIntroduction to android testing
Introduction to android testing
Diego Torres Milano
 
Testing Web Applications
Testing Web ApplicationsTesting Web Applications
Testing Web Applications
Seth McLaughlin
 
Android testing
Android testingAndroid testing
Android testing
JinaTm
 
Hands-On Mobile App Testing
Hands-On Mobile App TestingHands-On Mobile App Testing
Hands-On Mobile App Testing
Daniel Knott
 
Software testing live project training
Software testing live project trainingSoftware testing live project training
Software testing live project training
TOPS Technologies
 
Android testing
Android testingAndroid testing
Android testing
Bitbar
 

Viewers also liked (20)

browser compatibility testing
browser compatibility testingbrowser compatibility testing
browser compatibility testing
 
Mobile testing
Mobile testingMobile testing
Mobile testing
 
Web testing
Web testingWeb testing
Web testing
 
7 1-1 soap-developers_guide
7 1-1 soap-developers_guide7 1-1 soap-developers_guide
7 1-1 soap-developers_guide
 
Web Application Software Testing
Web Application Software TestingWeb Application Software Testing
Web Application Software Testing
 
Don't Drop the SOAP: Real World Web Service Testing for Web Hackers
Don't Drop the SOAP: Real World Web Service Testing for Web Hackers Don't Drop the SOAP: Real World Web Service Testing for Web Hackers
Don't Drop the SOAP: Real World Web Service Testing for Web Hackers
 
Mobile applications testing
Mobile applications testingMobile applications testing
Mobile applications testing
 
Testing Mobile Apps
Testing Mobile AppsTesting Mobile Apps
Testing Mobile Apps
 
Unit 09: Web Application Testing
Unit 09: Web Application TestingUnit 09: Web Application Testing
Unit 09: Web Application Testing
 
Testing on Android
Testing on AndroidTesting on Android
Testing on Android
 
How to make your app successful with mobile app testing?
How to make your app successful with mobile app testing?How to make your app successful with mobile app testing?
How to make your app successful with mobile app testing?
 
How to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App TestingHow to Break your App - Best Practices in Mobile App Testing
How to Break your App - Best Practices in Mobile App Testing
 
Mobile App Testing by Mark Wilson
Mobile App Testing by Mark WilsonMobile App Testing by Mark Wilson
Mobile App Testing by Mark Wilson
 
Unit03: Process and Business Models
Unit03: Process and Business ModelsUnit03: Process and Business Models
Unit03: Process and Business Models
 
Introduction to android testing
Introduction to android testingIntroduction to android testing
Introduction to android testing
 
Testing Web Applications
Testing Web ApplicationsTesting Web Applications
Testing Web Applications
 
Android testing
Android testingAndroid testing
Android testing
 
Hands-On Mobile App Testing
Hands-On Mobile App TestingHands-On Mobile App Testing
Hands-On Mobile App Testing
 
Software testing live project training
Software testing live project trainingSoftware testing live project training
Software testing live project training
 
Android testing
Android testingAndroid testing
Android testing
 

Similar to Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locally before you go to the Cloud

Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing Tools
Dr Ganesh Iyer
 
Module-1_Getting-Started_with_selenium_and_Java_basics.pdf
Module-1_Getting-Started_with_selenium_and_Java_basics.pdfModule-1_Getting-Started_with_selenium_and_Java_basics.pdf
Module-1_Getting-Started_with_selenium_and_Java_basics.pdf
devika266518
 
Building Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerBuilding Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience Manager
connectwebex
 
Building Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerBuilding Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience Manager
Justin Edelson
 
Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!
Sauce Labs
 
Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptx
Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptxMulesoft Meetup Roma - Monitoring Framework & DevOps.pptx
Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptx
Alfonso Martino
 
ganesh[5+ years] exp _Resume
ganesh[5+ years] exp _Resumeganesh[5+ years] exp _Resume
ganesh[5+ years] exp _Resumeganesh r
 
Slides for Automation Testing or End to End testing
Slides for Automation Testing or End to End testingSlides for Automation Testing or End to End testing
Slides for Automation Testing or End to End testing
SwapnilNarayan
 
5 Best Automation Testing Tools to Speed up Testing.pdf
5 Best Automation Testing Tools to Speed up Testing.pdf5 Best Automation Testing Tools to Speed up Testing.pdf
5 Best Automation Testing Tools to Speed up Testing.pdf
Serena Gray
 
Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development
Skytap Cloud
 
International journal of applied sciences and innovation vol 2015 - no 1 - ...
International journal of applied sciences and innovation   vol 2015 - no 1 - ...International journal of applied sciences and innovation   vol 2015 - no 1 - ...
International journal of applied sciences and innovation vol 2015 - no 1 - ...
sophiabelthome
 
Using DevOps to Improve Software Quality in the Cloud
Using DevOps to Improve Software Quality in the CloudUsing DevOps to Improve Software Quality in the Cloud
Using DevOps to Improve Software Quality in the Cloud
TechWell
 
Selenium
SeleniumSelenium
Selenium
abiramimaya
 
Introduction+to+AngularJS+with+logo+from+digital+ocean.pdf
Introduction+to+AngularJS+with+logo+from+digital+ocean.pdfIntroduction+to+AngularJS+with+logo+from+digital+ocean.pdf
Introduction+to+AngularJS+with+logo+from+digital+ocean.pdf
ahmadfaisal744721
 
XebiaLabs Demo: Application Release Automation with Deployit
XebiaLabs Demo: Application Release Automation with DeployitXebiaLabs Demo: Application Release Automation with Deployit
XebiaLabs Demo: Application Release Automation with DeployitXebiaLabs
 
Using Eclipse EMF/GEF to develop an offline designer for identity manager
Using Eclipse EMF/GEF to develop an offline designer for identity managerUsing Eclipse EMF/GEF to develop an offline designer for identity manager
Using Eclipse EMF/GEF to develop an offline designer for identity manager
Eclipse Day India
 
17 Ways to Save Time on Manual Cross Browser Testing
17 Ways to Save Time on Manual Cross Browser Testing17 Ways to Save Time on Manual Cross Browser Testing
17 Ways to Save Time on Manual Cross Browser Testing
Sarah Elson
 
Let's banish "it works on my machine"
Let's banish "it works on my machine"Let's banish "it works on my machine"
Let's banish "it works on my machine"
Stephanie Locke
 
Python selenium
Python seleniumPython selenium
Python selenium
Ducat
 

Similar to Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locally before you go to the Cloud (20)

Practical Software Testing Tools
Practical Software Testing ToolsPractical Software Testing Tools
Practical Software Testing Tools
 
Module-1_Getting-Started_with_selenium_and_Java_basics.pdf
Module-1_Getting-Started_with_selenium_and_Java_basics.pdfModule-1_Getting-Started_with_selenium_and_Java_basics.pdf
Module-1_Getting-Started_with_selenium_and_Java_basics.pdf
 
Building Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerBuilding Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience Manager
 
Building Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience ManagerBuilding Creative Product Extensions with Experience Manager
Building Creative Product Extensions with Experience Manager
 
Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!Using Selenium To Test Mobile? Meet Appium!
Using Selenium To Test Mobile? Meet Appium!
 
Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptx
Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptxMulesoft Meetup Roma - Monitoring Framework & DevOps.pptx
Mulesoft Meetup Roma - Monitoring Framework & DevOps.pptx
 
ganesh[5+ years] exp _Resume
ganesh[5+ years] exp _Resumeganesh[5+ years] exp _Resume
ganesh[5+ years] exp _Resume
 
Slides for Automation Testing or End to End testing
Slides for Automation Testing or End to End testingSlides for Automation Testing or End to End testing
Slides for Automation Testing or End to End testing
 
5 Best Automation Testing Tools to Speed up Testing.pdf
5 Best Automation Testing Tools to Speed up Testing.pdf5 Best Automation Testing Tools to Speed up Testing.pdf
5 Best Automation Testing Tools to Speed up Testing.pdf
 
Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development Webinar: Automate Your Environment Provisioning for Mobile App Development
Webinar: Automate Your Environment Provisioning for Mobile App Development
 
Selenium
SeleniumSelenium
Selenium
 
International journal of applied sciences and innovation vol 2015 - no 1 - ...
International journal of applied sciences and innovation   vol 2015 - no 1 - ...International journal of applied sciences and innovation   vol 2015 - no 1 - ...
International journal of applied sciences and innovation vol 2015 - no 1 - ...
 
Using DevOps to Improve Software Quality in the Cloud
Using DevOps to Improve Software Quality in the CloudUsing DevOps to Improve Software Quality in the Cloud
Using DevOps to Improve Software Quality in the Cloud
 
Selenium
SeleniumSelenium
Selenium
 
Introduction+to+AngularJS+with+logo+from+digital+ocean.pdf
Introduction+to+AngularJS+with+logo+from+digital+ocean.pdfIntroduction+to+AngularJS+with+logo+from+digital+ocean.pdf
Introduction+to+AngularJS+with+logo+from+digital+ocean.pdf
 
XebiaLabs Demo: Application Release Automation with Deployit
XebiaLabs Demo: Application Release Automation with DeployitXebiaLabs Demo: Application Release Automation with Deployit
XebiaLabs Demo: Application Release Automation with Deployit
 
Using Eclipse EMF/GEF to develop an offline designer for identity manager
Using Eclipse EMF/GEF to develop an offline designer for identity managerUsing Eclipse EMF/GEF to develop an offline designer for identity manager
Using Eclipse EMF/GEF to develop an offline designer for identity manager
 
17 Ways to Save Time on Manual Cross Browser Testing
17 Ways to Save Time on Manual Cross Browser Testing17 Ways to Save Time on Manual Cross Browser Testing
17 Ways to Save Time on Manual Cross Browser Testing
 
Let's banish "it works on my machine"
Let's banish "it works on my machine"Let's banish "it works on my machine"
Let's banish "it works on my machine"
 
Python selenium
Python seleniumPython selenium
Python selenium
 

More from Sauce Labs

Simplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless ToolsSimplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless Tools
Sauce Labs
 
Testing on Mobile Devices with Location Services
Testing on Mobile Devices with Location ServicesTesting on Mobile Devices with Location Services
Testing on Mobile Devices with Location Services
Sauce Labs
 
Your Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleYour Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at Scale
Sauce Labs
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with Appium
Sauce Labs
 
Quality at Speed: More API Testing, Less UI Testing
Quality at Speed: More API Testing, Less UI TestingQuality at Speed: More API Testing, Less UI Testing
Quality at Speed: More API Testing, Less UI Testing
Sauce Labs
 
Creating Digital Confidence with Test Automation
Creating Digital Confidence with Test AutomationCreating Digital Confidence with Test Automation
Creating Digital Confidence with Test Automation
Sauce Labs
 
Just Enough (Automated) Testing
Just Enough (Automated) TestingJust Enough (Automated) Testing
Just Enough (Automated) Testing
Sauce Labs
 
Using Axe to Add Accessibility Checks to Your Existing Selenium Tests
Using Axe to Add Accessibility Checks to Your Existing Selenium TestsUsing Axe to Add Accessibility Checks to Your Existing Selenium Tests
Using Axe to Add Accessibility Checks to Your Existing Selenium Tests
Sauce Labs
 
How Open Source Helps to Bring Back Product Obsession
How Open Source Helps to Bring Back Product ObsessionHow Open Source Helps to Bring Back Product Obsession
How Open Source Helps to Bring Back Product Obsession
Sauce Labs
 
Webinar: A Sneak Peek at Selenium 4 with Simon Stewart
Webinar: A Sneak Peek at Selenium 4 with Simon StewartWebinar: A Sneak Peek at Selenium 4 with Simon Stewart
Webinar: A Sneak Peek at Selenium 4 with Simon Stewart
Sauce Labs
 
[Deu] Test Automatisierung Mit Web Driver.io
[Deu] Test Automatisierung Mit Web Driver.io[Deu] Test Automatisierung Mit Web Driver.io
[Deu] Test Automatisierung Mit Web Driver.io
Sauce Labs
 
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
Sauce Labs
 
Accelerating Your Digital Agenda with Continuous Testing ft. Forrester
Accelerating Your Digital Agenda with Continuous Testing ft. ForresterAccelerating Your Digital Agenda with Continuous Testing ft. Forrester
Accelerating Your Digital Agenda with Continuous Testing ft. Forrester
Sauce Labs
 
How to Measure Success in Continuous Testing
How to Measure Success in Continuous TestingHow to Measure Success in Continuous Testing
How to Measure Success in Continuous Testing
Sauce Labs
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
Sauce Labs
 
Sauce Labs Webinar: Rising Importance of Software Testing
Sauce Labs Webinar: Rising Importance of Software TestingSauce Labs Webinar: Rising Importance of Software Testing
Sauce Labs Webinar: Rising Importance of Software Testing
Sauce Labs
 
BDD With Selenide by Hima Bindu Peteti
BDD With Selenide by Hima Bindu PetetiBDD With Selenide by Hima Bindu Peteti
BDD With Selenide by Hima Bindu Peteti
Sauce Labs
 
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Sauce Labs
 
Continuous Delivery for "Mature" Codebases by Melisa Benua
Continuous Delivery for "Mature" Codebases by Melisa BenuaContinuous Delivery for "Mature" Codebases by Melisa Benua
Continuous Delivery for "Mature" Codebases by Melisa Benua
Sauce Labs
 
Building Automation Engineers From Scratch by Jenny Bramble
Building Automation Engineers From Scratch by Jenny BrambleBuilding Automation Engineers From Scratch by Jenny Bramble
Building Automation Engineers From Scratch by Jenny Bramble
Sauce Labs
 

More from Sauce Labs (20)

Simplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless ToolsSimplify Salesforce Testing with AI-Driven Codeless Tools
Simplify Salesforce Testing with AI-Driven Codeless Tools
 
Testing on Mobile Devices with Location Services
Testing on Mobile Devices with Location ServicesTesting on Mobile Devices with Location Services
Testing on Mobile Devices with Location Services
 
Your Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at ScaleYour Framework for Success: introduction to JavaScript Testing at Scale
Your Framework for Success: introduction to JavaScript Testing at Scale
 
Automating Hybrid Applications with Appium
Automating Hybrid Applications with AppiumAutomating Hybrid Applications with Appium
Automating Hybrid Applications with Appium
 
Quality at Speed: More API Testing, Less UI Testing
Quality at Speed: More API Testing, Less UI TestingQuality at Speed: More API Testing, Less UI Testing
Quality at Speed: More API Testing, Less UI Testing
 
Creating Digital Confidence with Test Automation
Creating Digital Confidence with Test AutomationCreating Digital Confidence with Test Automation
Creating Digital Confidence with Test Automation
 
Just Enough (Automated) Testing
Just Enough (Automated) TestingJust Enough (Automated) Testing
Just Enough (Automated) Testing
 
Using Axe to Add Accessibility Checks to Your Existing Selenium Tests
Using Axe to Add Accessibility Checks to Your Existing Selenium TestsUsing Axe to Add Accessibility Checks to Your Existing Selenium Tests
Using Axe to Add Accessibility Checks to Your Existing Selenium Tests
 
How Open Source Helps to Bring Back Product Obsession
How Open Source Helps to Bring Back Product ObsessionHow Open Source Helps to Bring Back Product Obsession
How Open Source Helps to Bring Back Product Obsession
 
Webinar: A Sneak Peek at Selenium 4 with Simon Stewart
Webinar: A Sneak Peek at Selenium 4 with Simon StewartWebinar: A Sneak Peek at Selenium 4 with Simon Stewart
Webinar: A Sneak Peek at Selenium 4 with Simon Stewart
 
[Deu] Test Automatisierung Mit Web Driver.io
[Deu] Test Automatisierung Mit Web Driver.io[Deu] Test Automatisierung Mit Web Driver.io
[Deu] Test Automatisierung Mit Web Driver.io
 
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
Accelerating Innovation: Leveraging Open Source to Optimize Your Shift-Left I...
 
Accelerating Your Digital Agenda with Continuous Testing ft. Forrester
Accelerating Your Digital Agenda with Continuous Testing ft. ForresterAccelerating Your Digital Agenda with Continuous Testing ft. Forrester
Accelerating Your Digital Agenda with Continuous Testing ft. Forrester
 
How to Measure Success in Continuous Testing
How to Measure Success in Continuous TestingHow to Measure Success in Continuous Testing
How to Measure Success in Continuous Testing
 
5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation5 Steps to Jump Start Your Test Automation
5 Steps to Jump Start Your Test Automation
 
Sauce Labs Webinar: Rising Importance of Software Testing
Sauce Labs Webinar: Rising Importance of Software TestingSauce Labs Webinar: Rising Importance of Software Testing
Sauce Labs Webinar: Rising Importance of Software Testing
 
BDD With Selenide by Hima Bindu Peteti
BDD With Selenide by Hima Bindu PetetiBDD With Selenide by Hima Bindu Peteti
BDD With Selenide by Hima Bindu Peteti
 
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
Closer To the Metal - Why and How We Use XCTest and Espresso by Mario Negro P...
 
Continuous Delivery for "Mature" Codebases by Melisa Benua
Continuous Delivery for "Mature" Codebases by Melisa BenuaContinuous Delivery for "Mature" Codebases by Melisa Benua
Continuous Delivery for "Mature" Codebases by Melisa Benua
 
Building Automation Engineers From Scratch by Jenny Bramble
Building Automation Engineers From Scratch by Jenny BrambleBuilding Automation Engineers From Scratch by Jenny Bramble
Building Automation Engineers From Scratch by Jenny Bramble
 

Recently uploaded

Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
Kamal Acharya
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
WENKENLI1
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
MLILAB
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Teleport Manpower Consultant
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
seandesed
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
VENKATESHvenky89705
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
R&R Consult
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
gerogepatton
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
gdsczhcet
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
Pratik Pawar
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation & Control
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
Jayaprasanna4
 
Runway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptxRunway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptx
SupreethSP4
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
MdTanvirMahtab2
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
ankuprajapati0525
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
fxintegritypublishin
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
JoytuBarua2
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
Pipe Restoration Solutions
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
Amil Baba Dawood bangali
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Sreedhar Chowdam
 

Recently uploaded (20)

Final project report on grocery store management system..pdf
Final project report on grocery store management system..pdfFinal project report on grocery store management system..pdf
Final project report on grocery store management system..pdf
 
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdfGoverning Equations for Fundamental Aerodynamics_Anderson2010.pdf
Governing Equations for Fundamental Aerodynamics_Anderson2010.pdf
 
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang,  ICLR 2024, MLILAB, KAIST AI.pdfJ.Yang,  ICLR 2024, MLILAB, KAIST AI.pdf
J.Yang, ICLR 2024, MLILAB, KAIST AI.pdf
 
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdfTop 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
Top 10 Oil and Gas Projects in Saudi Arabia 2024.pdf
 
Architectural Portfolio Sean Lockwood
Architectural Portfolio Sean LockwoodArchitectural Portfolio Sean Lockwood
Architectural Portfolio Sean Lockwood
 
road safety engineering r s e unit 3.pdf
road safety engineering  r s e unit 3.pdfroad safety engineering  r s e unit 3.pdf
road safety engineering r s e unit 3.pdf
 
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptxCFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
CFD Simulation of By-pass Flow in a HRSG module by R&R Consult.pptx
 
Immunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary AttacksImmunizing Image Classifiers Against Localized Adversary Attacks
Immunizing Image Classifiers Against Localized Adversary Attacks
 
Gen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdfGen AI Study Jams _ For the GDSC Leads in India.pdf
Gen AI Study Jams _ For the GDSC Leads in India.pdf
 
weather web application report.pdf
weather web application report.pdfweather web application report.pdf
weather web application report.pdf
 
Water Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdfWater Industry Process Automation and Control Monthly - May 2024.pdf
Water Industry Process Automation and Control Monthly - May 2024.pdf
 
ethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.pptethical hacking-mobile hacking methods.ppt
ethical hacking-mobile hacking methods.ppt
 
Runway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptxRunway Orientation Based on the Wind Rose Diagram.pptx
Runway Orientation Based on the Wind Rose Diagram.pptx
 
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
Industrial Training at Shahjalal Fertilizer Company Limited (SFCL)
 
The role of big data in decision making.
The role of big data in decision making.The role of big data in decision making.
The role of big data in decision making.
 
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdfHybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
Hybrid optimization of pumped hydro system and solar- Engr. Abdul-Azeez.pdf
 
Planning Of Procurement o different goods and services
Planning Of Procurement o different goods and servicesPlanning Of Procurement o different goods and services
Planning Of Procurement o different goods and services
 
The Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdfThe Benefits and Techniques of Trenchless Pipe Repair.pdf
The Benefits and Techniques of Trenchless Pipe Repair.pdf
 
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
NO1 Uk best vashikaran specialist in delhi vashikaran baba near me online vas...
 
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&BDesign and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
Design and Analysis of Algorithms-DP,Backtracking,Graphs,B&B
 

Compatibility Testing of Your Web Apps - Tips and Tricks for Debugging Locally before you go to the Cloud

  • 1. © Copyright 2015 Coveros, Inc. All rights reserved. Compatibility Testing Your Web Apps Tips and Tricks for Debugging Locally Before you go to the Cloud October 1st Max Saperstone
  • 2. © Copyright 2015 Coveros, Inc. All rights reserved. Agenda ● Introduction ● Initial Tests ● How Sites are built ● Testing Techniques ● How Coveros Can Help ● Questions
  • 3. © Copyright 2015 Coveros, Inc. All rights reserved. Introduction
  • 4. © Copyright 2015 Coveros, Inc. All rights reserved. Max Saperstone Max Saperstone has been working as a Software and Test Engineer for almost a decade, with a focus on Test Automation and the CI/CD process. He specializes in open source tools, including the Selenium Tool Suite, JMeter, AutoIT, Cucumber, and Chef. Max has lead several testing automation efforts, including developing an automated suite focusing on web-based software to operate over several applications for Kronos Federal. He also headed a project with Delta Dental, developing an automated testing structure to run Cucumber tests over multiple test interfaces and environments, while also developing a system to keep test data ‘ageless.’ He recently released a new testing architecture for SecureCI™ to allow testing of multiple interfaces, custom reporting, and minimal test upkeep. After completing an implementation of the Active Authentication for android devices, he is currently deep in the mobile testing world, working with open source tools such as Robotium and Selendroid. Max has spoken at multiple conferences including StarEast, StarWest, Mobile Dev and Test, and AgileDC
  • 5. © Copyright 2015 Coveros, Inc. All rights reserved. What is Selenium IDE ● Selenium IDE is a complete integrated development environment (IDE) for Selenium tests ● It is implemented as a Firefox Add-On ● It allows recording, editing, and debugging tests ● Scripts are recorded in Selenese, a special test scripting language for Selenium ● Selenese provides commands for performing actions in a browser (click a link, select an option), and for retrieving data from the resulting pages
  • 6. © Copyright 2015 Coveros, Inc. All rights reserved. Selenium IDE Features ● Easy record and playback ● (Semi) Intelligent field selection will use IDs, names, or XPath as needed ● Autocomplete for all common Selenium commands ● Walk through tests ● Debug and set breakpoints ● Save tests as HTML, Ruby scripts, or any other format ● Support for Selenium user-extensions.js file ● Easy customization through plugins
  • 7. © Copyright 2015 Coveros, Inc. All rights reserved. Initial Tests
  • 8. © Copyright 2015 Coveros, Inc. All rights reserved. What Went Wrong ● Many Tests Failed ● Upon Analysis, it was Android and iPhone tests ● Amazon Test ○ Different titles appeared ● Coveros Test ○ ‘Search’ button wasn’t present ● Google ○ ‘I’m Feeling Lucky’ button wasn’t present ● GoogleSearch ○ Without the ‘I’m Feeling Lucky’ button, the search can’t be performed ● Target ○ We were forwarded to a completely separate site
  • 9. © Copyright 2015 Coveros, Inc. All rights reserved. How Sites are Built
  • 10. © Copyright 2015 Coveros, Inc. All rights reserved. Non-Responsive Site A non-responsive web application is one that responds the same way all devices. The same information is displayed on a laptop’s web browser as it would on a mobile device. Advantages ● Less Expensive ● Less Complex ● The mobile web world is changing really fast ● Easier to design tests Disadvantages ● Information may be harder to read ● Buttons and links may be more difficult to click
  • 11. © Copyright 2015 Coveros, Inc. All rights reserved. Separate Sites Having a separate Mobile Site is an approach that is also used to provide a better mobile experience by redirecting mobile users to a separate site optimized for mobile use Advantages ● Better mobile experience ● Less complex site design Disadvantages ● SEO penalties ● Dual code maintenance ● Links don’t transfer
  • 12. © Copyright 2015 Coveros, Inc. All rights reserved. Responsive Site Responsive Web design is an approach that suggests that an app should respond to the user’s behavior and environment based on screen size, platform and orientation Advantages ● The app is easy to use with all interfaces ● Design looks good on any interface ● Don’t have to redesign the site for each new device Disadvantages ● May suffer from performance issues ● More expensive to design, develop and test
  • 13. © Copyright 2015 Coveros, Inc. All rights reserved. Types of Responsive Sites There are two ways to design a responsive web app Responsive Design Website ● Responsive design sites adapt the layout to the available view ● Utilize HTML5, CSS3, and Javascript Dynamic Serving Website ● Dynamic serving allows the server to respond with different HTML (and content) from the same URL ● Based on the user-agent passed to the server device specific information will be returned
  • 14. © Copyright 2015 Coveros, Inc. All rights reserved. Types of Responsive Sites (cont.) Responsive Design Website Advantages ● Makes it easier for users to share and link to your content with a single URL ● Requires less engineering time to maintain multiple pages for the same content ● Less resource intensive on server Dynamic Serving Website Advantages ● Only one URL, no need for redirection ● Browsers don’t need to use HTML5 ● Doesn’t require powerful client devices for CSS and JS
  • 15. © Copyright 2015 Coveros, Inc. All rights reserved. Testing Techniques
  • 16. © Copyright 2015 Coveros, Inc. All rights reserved. Techniques for Simulating Different Devices ● Desktop browsers like Chrome and Firefox have many tools to effectively use user-agents to simulate multiple mobile browser types with little or no cost ○ Chrome ‘device mode’ ○ User Agent Switchers ● Simulation does not mimic hardware or software of mobile device, just displays similar data ● Use Selenium IDE’s ‘find’ button to see how elements change ○ When changing screen size ○ When changing user-agent
  • 17. © Copyright 2015 Coveros, Inc. All rights reserved. Techniques for Fixing Tests Locally ● Create functional tests following unit testing best practices ○ Test as small pieces as possible ○ Don’t include loops or conditional statements ● Avoid using XPath and CSS for locators based on structure ○ Only use XPath or CSS when elements change id and class between sites (typical with dynamic serving) ● Use Regular Expressions when needed for asserts ● When testing workflows, create ones that work for all sites ● When testing if elements exist/are visible, create separate mobile and desktop tests ● TestNG might be more helpful for specifying different browsers for each test
  • 18. © Copyright 2015 Coveros, Inc. All rights reserved. Debugging and Testing Workflow ● Start in Selenium IDE ○ Write/Record tests in Selenium IDE ○ Execute tests in Selenium IDE ○ Note issues, debug, and fix ○ Resize browser to smaller window ○ Re-run tests in Selenium IDE ○ Note issues, debug, and fix ○ Set user-agent switcher to mobile device ○ Re-run tests in Selenium IDE ○ Note issues, debug, and fix ○ Export tests to language of choice ● Test from IDE ○ Execute tests in IDE ○ Note issues, debug, and fix ○ Resize browser to smaller window ○ Re-run tests in IDE ○ Note issues, debug, and fix ○ Set to profile with user-agent switcher set for mobile device ○ Re-run tests in IDE ○ Note issues, debug, and fix ● Test in the Cloud ○ Emulators can be more simply used than simulators ○ Utilize frameworks already established for cloud provider
  • 19. © Copyright 2015 Coveros, Inc. All rights reserved. Re-Run Tests
  • 20. © Copyright 2015 Coveros, Inc. All rights reserved. Sample Code - Locally Simulating /** * Constructs a new instance of the test. The constructor requires four * string parameters, which represent the device, device size, and browser * with the user agent switcher. * @param device * @param width * @param height * @param profile */ public LocalSimulationTest(String device, int width, int height, String profile) { super(); this.device = device; this.width = width; this.height = height; this.profile = profile; }
  • 21. © Copyright 2015 Coveros, Inc. All rights reserved. Sample Code - Locally Simulating /** * @return a LinkedList containing arrays representing the browser * combinations the test should be run against. The values in the array are used * as part of the invocation of the test constructor */ @SuppressWarnings({ "rawtypes", "unchecked" }) @ConcurrentParameterized.Parameters public static LinkedList browsers() { LinkedList browsers = new LinkedList(); browsers.add(new String[]{"desktop", "1920", "1080", "DESKTOP"}); browsers.add(new String[]{"iphone4", "320", "480", "IPHONE"}); browsers.add(new String[]{"iphone6p", "414", "736", "IPHONE"}); browsers.add(new String[]{"galaxys4", "480", "640", "ANDROID"}); return browsers; }
  • 22. © Copyright 2015 Coveros, Inc. All rights reserved. Sample Code - Locally Simulating /** * Constructs a new {@link FirefoxDriver} instance which is configured to use * the capabilities defined by the {@link #device}. {@link #width}, {@link * #height} and {@link #profile} instance variables will determine how to * configure our simulator to have everything run smoothly locally. * @throws Exception if an error occurs during the creation of the {@link * FirefoxDriver} instance. */ @Before public void setUp() throws Exception { //Load our local profile for firefox browser ProfilesIni profileIni = new ProfilesIni(); FirefoxProfile ffprofile = profileIni.getProfile(profile); this.driver = new FirefoxDriver(ffprofile); //Resize the current window to the given dimension Dimension d = new Dimension(Integer.valueOf(width),Integer.valueOf(height)); this.driver.manage().window().setSize(d); }
  • 23. © Copyright 2015 Coveros, Inc. All rights reserved. Wrap-Up
  • 24. © Copyright 2015 Coveros, Inc. All rights reserved. About Coveros ● Coveros helps organizations accelerate the delivery of secure, reliable software ● Our consulting services: ○ Agile software development ○ Application security ○ Software quality assurance ○ Software process improvement ● Our key markets: ○ Financial services ○ Healthcare ○ Defense ○ Critical Infrastructure Development Capabilities
  • 25. © Copyright 2015 Coveros, Inc. All rights reserved. Questions Max Saperstone max.saperstone@coveros.com