SlideShare a Scribd company logo
SHARING THE PAIN –
PROTRACTOR &
WEBDRIVER
Nikitha Iyer
Developer
Anand Bagmar
Software Quality Evangelist
@BagmarAnand
about.me/anand.bagmar
ABOUT US
@NikithaIyer
Why are you here?
Case Study
DOMAIN
USER BASE
USAGE
SINGLE PAGE APPLICATION
Disclaimer
Why Protractor?
TEAM OWNS QUALITY
Testing ≠ Testers
Quality is a Team Responsibility
Unit (xUnit / JavaScript)
Component
Integration
View
Web Service
UI
Manual / Exploratory
P
e
r
f
o
r
m
a
n
c
e
S
e
c
u
r
i
t
y
Accessibility
TEST PYRAMID
TEAM COMPOSITION & SKILLS
OPTIONS LOOKED AT
q Cucumber-JVM / Cucumber-Ruby
q WebDriver-JS
q Protractor
Challenges
CHALLENGES - JAVASCRIPT
What is Test Automation?
Synchronous,
Step-by-Step execution
ASynchronous
Callbacks & Promises!
Power of JavaScript?
CHALLENGES – BROWSER (& OS) SUPPORT
Browser / Driver Why? Challenges
phantomJS Headless execution
-  easier for developers
-  Seamless CI
integration
-  Officially not
recommended by
Protractor
Chrome -  End-user
requirement
-  Excellent for
development &
testing
-  Certain elements
“not visible” – though
worked with Firefox
Firefox -  End-user
requirement
-  Worked locally
-  Worked in CI – in
headless (xvfb), but
NOT for maps
-  Worked in headless
mode (xvfb) in
vagrant
CHALLENGES – BUILD TOOL INTEGRATION
Gulp-angular-protractor
Gulp-protractor
Protractor
Selenium-WebDriver
Gulp
CHALLENGES - ANGULAR
Type Example
Angular Directives Ex: ng-repeat, ng-model
Custom Directives Ex: third party libraries providing
multi-column select, Sliders for
range, Charts
Working with non-Angular Ex: Login, Admin
CHALLENGES - DEBUGGING
Setting breakpoints while handling promises
CHALLENGES – MAPS
Overcoming the
Challenges
SOLUTIONS – SIMPLIFY BUILD TOOL INTEGRATION
Protractor
Selenium-WebDriver
Gulp
SOLUTIONS – DETERMINISTIC TEST DATA
q Same Test Data in all environments / tenants
q  Minimal Environment specific configuration
q Intelligent ‘before’ & ‘after’ setups
SOLUTIONS – UTILITIES
Page functions
-  Common behavior
-  Non-angular
Screenshots with
counters
Unique output
directory names
JS Console warnings
& errors
Chart functions
CSV loader
Modals & Alerts
File Upload
File Download
Custom Locators
Configurations
SOLUTIONS - LEARN
•  JavaScript
•  Angular
•  Protractor
DID WE SOLVE ALL THE PROBLEMS?
JUST KIDDING!!!
Of course, NO!!
-  Maps
-  Reports
-  How many and where to put “assertions”?
-  Use Soft-asserts
YES!!!
OUR TAKEAWAYS FROM THIS PAIN & GAIN!
q  Choose tech-stack based on context
q  Experiment & Fail-Fast!
q  Proper Cost-Value evaluation
q  Manage Risk (what to automate – now / later, and what NOT
to automate)
q  Keep learning & sharing – new and better solutions
28
REFERENCES
Page Objects – Google - https://code.google.com/p/selenium/wiki/PageObjects
Page Objects – Martin Fowler - http://martinfowler.com/bliki/PageObject.html
Perils of Page-Object Pattern – Anand Bagmar -
http://essenceoftesting.blogspot.in/2014/09/perils-of-page-object-pattern.html
Protractor – https://docs.angularjs.org/guide/e2e-testing,
‪http://www.protractortest.org/#/
Learn Protractor for Angular – ‪https://docs.angularjs.org/tutorial
Sample project – ‪https://github.com/NikithaIyer/angular-phonecat-e2e
@BagmarAnand
about.me/anand.bagmar
THANK YOU
@NikithaIyer

More Related Content

PDF
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
PDF
Better Page Object Handling with Loadable Component Pattern
PDF
Sharing (less) Pain of using Protractor & WebDriver
PPTX
Brace yourself from automation death trap
PDF
Patterns of a “good” test automation framework
PDF
Increase automation to rest
PPTX
Protractor for angularJS
PDF
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis
The What, Why and How of (Web) Analytics Testing (Web, IoT, Big Data)
Better Page Object Handling with Loadable Component Pattern
Sharing (less) Pain of using Protractor & WebDriver
Brace yourself from automation death trap
Patterns of a “good” test automation framework
Increase automation to rest
Protractor for angularJS
To Deploy or Not-To-Deploy - decide using TTA's Trend & Failure Analysis

What's hot (20)

PPTX
Lets cook cucumber !!
PDF
Role of Automation in Testing
PDF
Client-Side Performance Testing
PDF
The what, why and how of web analytics testing
PPTX
Selenium with protractor
PPTX
Better End-to-End Testing with Page Objects Model using Protractor
PPTX
Protractor Tutorial Quality in Agile 2015
PPTX
Protractor overview
PDF
What is WAAT?
PDF
Cucumber ppt
PPTX
Protractor training
PDF
Introduction to Protractor
PDF
Using The Page Object Pattern
PDF
APIs: A Better Alternative to Page Objects
PPTX
Protractor survival guide
PPTX
Better Page Object Handling with Loadable Component Pattern
DOCX
Protractor end-to-end testing framework for angular js
PDF
AngularJS and Protractor
PDF
Carmen Popoviciu - Protractor styleguide | Codemotion Milan 2015
PDF
Automated Web Testing using JavaScript
Lets cook cucumber !!
Role of Automation in Testing
Client-Side Performance Testing
The what, why and how of web analytics testing
Selenium with protractor
Better End-to-End Testing with Page Objects Model using Protractor
Protractor Tutorial Quality in Agile 2015
Protractor overview
What is WAAT?
Cucumber ppt
Protractor training
Introduction to Protractor
Using The Page Object Pattern
APIs: A Better Alternative to Page Objects
Protractor survival guide
Better Page Object Handling with Loadable Component Pattern
Protractor end-to-end testing framework for angular js
AngularJS and Protractor
Carmen Popoviciu - Protractor styleguide | Codemotion Milan 2015
Automated Web Testing using JavaScript
Ad

Viewers also liked (20)

PDF
Protractor: Tips & Tricks
PDF
Test Data - Food for your Test Automation Framework
PDF
Automating Web Analytics
PDF
Client-Side Performance Testing
PDF
Perils of Page-Object Pattern
PDF
Patterns in Test Automation
PPTX
Angular UI Testing with Protractor
PDF
Integration Testing in Enterprises using TaaS
PDF
Say NO To (More) Selenium Tests
PDF
Agile India 2017 Conference
PDF
Sublime Text 2 pro tips
PPTX
What is Software Quality and how to measure it?
PDF
Future of Testing, Test Automation and The Quality Analyst
PDF
Pushknot
PDF
Testing as a container
PDF
Create the Future - Innovations in Testing
PPTX
Angular js automation using protractor
PDF
Build the "right" regression suite using Behavior Driven Testing (BDT)
PDF
Keyword driven testing
PDF
Keyword Driven Testing
Protractor: Tips & Tricks
Test Data - Food for your Test Automation Framework
Automating Web Analytics
Client-Side Performance Testing
Perils of Page-Object Pattern
Patterns in Test Automation
Angular UI Testing with Protractor
Integration Testing in Enterprises using TaaS
Say NO To (More) Selenium Tests
Agile India 2017 Conference
Sublime Text 2 pro tips
What is Software Quality and how to measure it?
Future of Testing, Test Automation and The Quality Analyst
Pushknot
Testing as a container
Create the Future - Innovations in Testing
Angular js automation using protractor
Build the "right" regression suite using Behavior Driven Testing (BDT)
Keyword driven testing
Keyword Driven Testing
Ad

Similar to Sharing the pain using Protractor (20)

PDF
Client-side Performance Testing
PDF
Future of Testing, Test Automation and The Quality Analyst
PPTX
Tooling for Machine Learning: AWS Products, Open Source Tools, and DevOps Pra...
PDF
123 automation framework
PDF
Enabling CD in Enterprises with Testing - Anand Bagmar
PDF
Automated Performance Testing With J Meter And Maven
PDF
Agile Testing 2020
PDF
Karim Fanadka
PDF
Integration testing - A&BP CC
PDF
Serverless in production, an experience report (Going Serverless)
PDF
Serverless in production, an experience report (JeffConf)
DOCX
RahulAnand_Testing_5.9years_exp_CV
PPTX
Real world selenium resume which gets more job interviews
PDF
Oracle Soa Suite 11g Performance Tuning Cookbook Osama Oransa
PPTX
EY CV_VijayKadam_QA_fafafafasfasAutomation.pptx
PDF
Service pemanas air solahart hp 081313462267
PDF
Enabling CD in Enterprises with Testing
PDF
Neotys PAC 2018 - Ramya Ramalinga Moorthy
PDF
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
PDF
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)
Client-side Performance Testing
Future of Testing, Test Automation and The Quality Analyst
Tooling for Machine Learning: AWS Products, Open Source Tools, and DevOps Pra...
123 automation framework
Enabling CD in Enterprises with Testing - Anand Bagmar
Automated Performance Testing With J Meter And Maven
Agile Testing 2020
Karim Fanadka
Integration testing - A&BP CC
Serverless in production, an experience report (Going Serverless)
Serverless in production, an experience report (JeffConf)
RahulAnand_Testing_5.9years_exp_CV
Real world selenium resume which gets more job interviews
Oracle Soa Suite 11g Performance Tuning Cookbook Osama Oransa
EY CV_VijayKadam_QA_fafafafasfasAutomation.pptx
Service pemanas air solahart hp 081313462267
Enabling CD in Enterprises with Testing
Neotys PAC 2018 - Ramya Ramalinga Moorthy
What to Do—Develop Your Own Automation or Use Crowdsourced Testing?
Testing Vue Apps with Cypress.io (STLJS Meetup April 2018)

More from Anand Bagmar (20)

PDF
The Path to Autonomous Testing - Anand Bagmar
PDF
My Journey With Appium @AppiumConf Sept 2024
PDF
Streamlining End-to-End Testing Automation
PDF
Eradicate Flaky Tests
PDF
Automating the real-user scenarios across multi-apps, and multi-devices
PDF
Visual Validation - The missing tip of the automation pyramid @GoT2022
PDF
Design Patterns in Automation
PDF
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
PDF
Rewrite vs Refactor (AgileIndia 2021)
PDF
Next Generation Functional & Visual Testing powered by AI
PDF
The Best Test Automation Framework is...
PDF
Eradicate Flaky Tests - AppiumConf 2021
PDF
Getting started with Appium 2.0
PDF
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
PDF
Selenium Deep Dive
PDF
Does your functional automation really add value?
PDF
Measuring Coverage From E2E Tests
PDF
Getting started with Visual Testing using Applitools - @TPC, Feb2020
PDF
Visual validation - The missing tip of the automation pyramid @ QA Symposium
PDF
Collaboration - A Taboo!
The Path to Autonomous Testing - Anand Bagmar
My Journey With Appium @AppiumConf Sept 2024
Streamlining End-to-End Testing Automation
Eradicate Flaky Tests
Automating the real-user scenarios across multi-apps, and multi-devices
Visual Validation - The missing tip of the automation pyramid @GoT2022
Design Patterns in Automation
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Rewrite vs Refactor (AgileIndia 2021)
Next Generation Functional & Visual Testing powered by AI
The Best Test Automation Framework is...
Eradicate Flaky Tests - AppiumConf 2021
Getting started with Appium 2.0
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Selenium Deep Dive
Does your functional automation really add value?
Measuring Coverage From E2E Tests
Getting started with Visual Testing using Applitools - @TPC, Feb2020
Visual validation - The missing tip of the automation pyramid @ QA Symposium
Collaboration - A Taboo!

Recently uploaded (20)

PDF
Wondershare Filmora 15 Crack With Activation Key [2025
PDF
Design an Analysis of Algorithms II-SECS-1021-03
PDF
AI in Product Development-omnex systems
PDF
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
PDF
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
PPTX
Operating system designcfffgfgggggggvggggggggg
PPTX
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
PDF
Navsoft: AI-Powered Business Solutions & Custom Software Development
PDF
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
PPTX
ISO 45001 Occupational Health and Safety Management System
PDF
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
PPTX
Transform Your Business with a Software ERP System
PDF
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
PDF
How to Choose the Right IT Partner for Your Business in Malaysia
PDF
Digital Strategies for Manufacturing Companies
PDF
How Creative Agencies Leverage Project Management Software.pdf
PDF
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
PDF
Odoo Companies in India – Driving Business Transformation.pdf
PDF
Which alternative to Crystal Reports is best for small or large businesses.pdf
PPTX
ManageIQ - Sprint 268 Review - Slide Deck
Wondershare Filmora 15 Crack With Activation Key [2025
Design an Analysis of Algorithms II-SECS-1021-03
AI in Product Development-omnex systems
Internet Downloader Manager (IDM) Crack 6.42 Build 42 Updates Latest 2025
Claude Code: Everyone is a 10x Developer - A Comprehensive AI-Powered CLI Tool
Operating system designcfffgfgggggggvggggggggg
CHAPTER 12 - CYBER SECURITY AND FUTURE SKILLS (1) (1).pptx
Navsoft: AI-Powered Business Solutions & Custom Software Development
Raksha Bandhan Grocery Pricing Trends in India 2025.pdf
ISO 45001 Occupational Health and Safety Management System
Addressing The Cult of Project Management Tools-Why Disconnected Work is Hold...
Transform Your Business with a Software ERP System
SAP S4 Hana Brochure 3 (PTS SYSTEMS AND SOLUTIONS)
How to Choose the Right IT Partner for Your Business in Malaysia
Digital Strategies for Manufacturing Companies
How Creative Agencies Leverage Project Management Software.pdf
Flood Susceptibility Mapping Using Image-Based 2D-CNN Deep Learnin. Overview ...
Odoo Companies in India – Driving Business Transformation.pdf
Which alternative to Crystal Reports is best for small or large businesses.pdf
ManageIQ - Sprint 268 Review - Slide Deck

Sharing the pain using Protractor

  • 1. SHARING THE PAIN – PROTRACTOR & WEBDRIVER Nikitha Iyer Developer Anand Bagmar Software Quality Evangelist
  • 3. Why are you here?
  • 11. TEAM OWNS QUALITY Testing ≠ Testers Quality is a Team Responsibility
  • 12. Unit (xUnit / JavaScript) Component Integration View Web Service UI Manual / Exploratory P e r f o r m a n c e S e c u r i t y Accessibility TEST PYRAMID
  • 14. OPTIONS LOOKED AT q Cucumber-JVM / Cucumber-Ruby q WebDriver-JS q Protractor
  • 16. CHALLENGES - JAVASCRIPT What is Test Automation? Synchronous, Step-by-Step execution ASynchronous Callbacks & Promises! Power of JavaScript?
  • 17. CHALLENGES – BROWSER (& OS) SUPPORT Browser / Driver Why? Challenges phantomJS Headless execution -  easier for developers -  Seamless CI integration -  Officially not recommended by Protractor Chrome -  End-user requirement -  Excellent for development & testing -  Certain elements “not visible” – though worked with Firefox Firefox -  End-user requirement -  Worked locally -  Worked in CI – in headless (xvfb), but NOT for maps -  Worked in headless mode (xvfb) in vagrant
  • 18. CHALLENGES – BUILD TOOL INTEGRATION Gulp-angular-protractor Gulp-protractor Protractor Selenium-WebDriver Gulp
  • 19. CHALLENGES - ANGULAR Type Example Angular Directives Ex: ng-repeat, ng-model Custom Directives Ex: third party libraries providing multi-column select, Sliders for range, Charts Working with non-Angular Ex: Login, Admin
  • 20. CHALLENGES - DEBUGGING Setting breakpoints while handling promises
  • 23. SOLUTIONS – SIMPLIFY BUILD TOOL INTEGRATION Protractor Selenium-WebDriver Gulp
  • 24. SOLUTIONS – DETERMINISTIC TEST DATA q Same Test Data in all environments / tenants q  Minimal Environment specific configuration q Intelligent ‘before’ & ‘after’ setups
  • 25. SOLUTIONS – UTILITIES Page functions -  Common behavior -  Non-angular Screenshots with counters Unique output directory names JS Console warnings & errors Chart functions CSV loader Modals & Alerts File Upload File Download Custom Locators Configurations
  • 26. SOLUTIONS - LEARN •  JavaScript •  Angular •  Protractor
  • 27. DID WE SOLVE ALL THE PROBLEMS? JUST KIDDING!!! Of course, NO!! -  Maps -  Reports -  How many and where to put “assertions”? -  Use Soft-asserts YES!!!
  • 28. OUR TAKEAWAYS FROM THIS PAIN & GAIN! q  Choose tech-stack based on context q  Experiment & Fail-Fast! q  Proper Cost-Value evaluation q  Manage Risk (what to automate – now / later, and what NOT to automate) q  Keep learning & sharing – new and better solutions 28
  • 29. REFERENCES Page Objects – Google - https://code.google.com/p/selenium/wiki/PageObjects Page Objects – Martin Fowler - http://martinfowler.com/bliki/PageObject.html Perils of Page-Object Pattern – Anand Bagmar - http://essenceoftesting.blogspot.in/2014/09/perils-of-page-object-pattern.html Protractor – https://docs.angularjs.org/guide/e2e-testing, ‪http://www.protractortest.org/#/ Learn Protractor for Angular – ‪https://docs.angularjs.org/tutorial Sample project – ‪https://github.com/NikithaIyer/angular-phonecat-e2e