SlideShare a Scribd company logo
©2017 Faichi Solutions Pvt. Ltd.
Automate Testing with Behat,
Selenium, PhantomJs and
Nightwatch.js
©2017 Faichi Solutions Pvt. Ltd. 2
Nikhil Sukul
Senior Drupal Architect
Faichi Solutions LLC
nikhilsukul
nikhilsukul
Nikhil is an open source enthusiast and
contributor to Drupal and its community. He
has an overall software experience of 17+
years and has been active in Drupal space
since last 9 years.
Speakers, who?
Gaurav Bajpai
Senior Drupal Developer
Faichi Solutions LLC
gaurav02b
gaurav-bajpai
Gaurav is an active member and contributor to
Drupal community. His overall Drupal experience is
5+ years. He is Acquia certified developer.
©2017 Faichi Solutions Pvt. Ltd. 3
©2017 Faichi Solutions Pvt. Ltd. 4
©2017 Faichi Solutions Pvt. Ltd. 5
©2017 Faichi Solutions Pvt. Ltd. 6
©2017 Faichi Solutions Pvt. Ltd. 7
©2017 Faichi Solutions Pvt. Ltd.
What is Testing
©2017 Faichi Solutions Pvt. Ltd. 9
• In general, testing is finding out how well something
works,
• Software testing is the process of evaluation a software
item to detect differences between given input and
expected output.
©2017 Faichi Solutions Pvt. Ltd.
How to do Testing
©2017 Faichi Solutions Pvt. Ltd. 11
©2017 Faichi Solutions Pvt. Ltd.
Why Testing
©2017 Faichi Solutions Pvt. Ltd. 13
• To point out the defects and errors made during the
development phases.
• Makes Customer’s reliability and their satisfaction in the
application.
• Effective performance of the software.
• Application resulting to failure is very expensive in future
or in later stages of the development.
©2017 Faichi Solutions Pvt. Ltd. 14
©2017 Faichi Solutions Pvt. Ltd.
Who will Test?
©2017 Faichi Solutions Pvt. Ltd.
©2017 Faichi Solutions Pvt. Ltd.
©2017 Faichi Solutions Pvt. Ltd.
They will Test
©2017 Faichi Solutions Pvt. Ltd.
Types of Testing
(By Execution)
©2017 Faichi Solutions Pvt. Ltd. 20
Manual Testing Automation TestingManual Testing Automation Testing
©2017 Faichi Solutions Pvt. Ltd. 21
Automation Testing Manual Testing
It is very much helpful in
regressions testing.
To execute the test cases first
time.
Runs test cases significantly
faster than human resources.
Running tests manually can be
very time consuming.
Good for automating the Build
Verification Testing (BVT) .
To execute the Build Verification
Testing (BVT) is very mundane
and tiresome.
Initial cost is high. Manual testing requires less cost
than automation.
©2017 Faichi Solutions Pvt. Ltd. 22
Automated Testing
©2017 Faichi Solutions Pvt. Ltd. 23
Real browser testing
Real Browsers are running and performing functions or
commands in front of users in UI. Examples of Real
browsers are Google Chrome, Firefox, and Internet
Explorer etc.
©2017 Faichi Solutions Pvt. Ltd. 24
Headless browser testing
• Headless browsers are basically
web browsers that without a
graphical user interface.
• Examples of Headless browsers
are PhantomJS and ZombieJS etc.
©2017 Faichi Solutions Pvt. Ltd. 25
Real vs Headless browser testing
• Headless Browsers faster than real browsers:
– Real browsers take time opening, rendering html, CSS, Javascript
and images while headless browsers don’t require it. Headless
browsers will start performing functions without waiting for page
to load completely.
• Headless browsers are not representing real users:
– user bugs like images are crashing or not as UI is not showing up
is very difficult to detect in headless browsers.
• Error detection in real browsers is easy pesy:
– In Real browser as functions are performing in front of user and
he can interact with it so he can easily detect where the tests
goes fail. And can easily debug if anything goes wrong.
• Headless browsers does not support Ajax.
©2017 Faichi Solutions Pvt. Ltd. 26
©2017 Faichi Solutions Pvt. Ltd. 27
Selenium WebDriver is a collection of open source APIs which
are used to automate the testing of a web application and it is
platform-independent.
©2017 Faichi Solutions Pvt. Ltd. 28
How Selenium WebDriver works?
You can Download Selenium Jar from http://selenium-
release.storage.googleapis.com/index.html
Chrome
Driver
IE Driver
©2017 Faichi Solutions Pvt. Ltd. 29
• Behat is an open source Behavior-Driven Development
framework for PHP.
• Behat is a tool to test the behavior of any application,
described in special language called Gherkin.
• Gherkin is a Business Readable, Domain Specific Language
created especially for behavior descriptions. It gives you
the ability to remove logic details from behavior tests.
©2017 Faichi Solutions Pvt. Ltd. 30
Feature: Some terse yet descriptive text of what is desired
In order to realize a named business value
As an explicit system actor
I want to gain some beneficial outcome which furthers the goal
Scenario: Some determinable business situation
Given some precondition
And some other precondition
When some action by the actor
And some other action
And yet another action
Then some testable outcome is achieved
And something else we can check happens too
Scenario: A different situation
...
©2017 Faichi Solutions Pvt. Ltd. 31
• Mink is the browser simulator for Behat.
• It is a browser emulator abstraction layer. It hides
emulator differences behind a single, consistent API.
• Mink Support for both in-browser and headless browser
emulators. It is a PHP 5.3+ library.
You can Download and Install Behat and Mink:
http://docs.behat.org/en/v2.5/cookbook/behat_and_mink.html
©2017 Faichi Solutions Pvt. Ltd. 32
“PhantomJS is a scripted, headless browser used for
automating web page interaction. PhantomJS
provides a JavaScript API enabling automated
navigation, screenshots, user behavior and assertions
making it a common tool used to run browser-based
unit tests in a headless system like a continuous
integration environment.” - wikipedia
You can Download and Install PhantomJS:
http://phantomjs.org/download.html
©2017 Faichi Solutions Pvt. Ltd. 33
• Headless website testing:
– Run functional tests along with the frameworks like QUnit, Jasmine,
Mocha, Capybara, WebDriver etc.
• Screen capture:
– taking screen capture programmatically.
• The development can be very easier:
– While developing the UI, you can write the code by selecting the HTML
element wherever you wanted.
• Test framework:
– PhantomJS itself is not a test framework, it is only used to launch the
tests via a suitable test runner.
PhantomJS is a good:
©2017 Faichi Solutions Pvt. Ltd. 34
CasperJS is a navigation scripting & testing utility for PhantomJS
headless browser, written in Javascript.
CasperJs
©2017 Faichi Solutions Pvt. Ltd. 35
• A Browser Automation tool.
• It is an easy to use Node.js based End-to-End (E2E) testing
solution for browser based apps and websites.
• It uses the powerful W3C WebDriver API to perform
commands and assertions on DOM elements.
You can Download and Install NightWatch.js:
http://nightwatchjs.org/getingstarted#installation
©2017 Faichi Solutions Pvt. Ltd. 36
Nightwatch.js architecture
©2017 Faichi Solutions Pvt. Ltd.
What to use
and when?
©2017 Faichi Solutions Pvt. Ltd. 38
©2017 Faichi Solutions Pvt. Ltd. 39
References:
http://www.softwaretestingclass.com/automation-testing-vs-manual-testing/
http://www.teluguone.com/teluguoneUserFiles/Nothing can stop
Automation(1).png
http://www.seleniumhq.org/projects/ide/selenium-ide.gif
http://nightwatchjs.org/guide#theory-of-operation
http://www.slideshare.net/sethmcl/join-the-darkside-nightwatchjs
https://www.youtube.com/watch?v=-eJ2cZXyJ0E
http://www.algoworks.com/blog/choosing-your-automated-testing-frameworks-
phantomjscasperjs-vs-selenium/
http://craveco.de/posts/2016/03/16/part-2-automated-drupal-testing-behat-
selenium-and-headless-firefox
http://www.pngall.com/wp-content/uploads/2016/06/Browsers-
Transparent.png
http://economictimes.indiatimes.com/definition/selenium-web-driver
http://mink.behat.org/en/latest
http://phantomjs.org
https://upload.wikimedia.org/wikipedia/commons/thumb/b/b3/Terminalicon2.p
ng/480px-Terminalicon2.png
http://shashikantjagtap.net/running-behat-scenarios-with-pahntomjs
41
CONNECT WITH US, ASK FOR A DEMO !
Faichi Solutions, LLC
640 W. California Ave Suite 210 Sunnyvale, CA 94086
Phone: +1 (408) 769-4941
Email: inform@faichi.com
FAICHI SOLUTIONS PVT LTD
USA:
OFFICE NO. 230, 640 WEST
CALIFORNIA AVENUE SUITE 210
SUNNYVALE, CA 94086
TEL: +1 (408) 769-4941
INDIA:
ACCORD IT PARK, BANER ROAD,
PUNE, MAHARASHATRA-411045
PH. NO. +91-20-65291435
THANK YOU

More Related Content

What's hot

Join the darkside: Selenium testing with Nightwatch.js
Join the darkside: Selenium testing with Nightwatch.jsJoin the darkside: Selenium testing with Nightwatch.js
Join the darkside: Selenium testing with Nightwatch.js
Seth McLaughlin
 
Automated Frontend Testing
Automated Frontend TestingAutomated Frontend Testing
Automated Frontend Testing
Neil Crosby
 
Night Watch with QA
Night Watch with QANight Watch with QA
Night Watch with QA
Carsten Sandtner
 
UI Testing Automation
UI Testing AutomationUI Testing Automation
UI Testing Automation
AgileEngine
 
Automated Testing using JavaScript
Automated Testing using JavaScriptAutomated Testing using JavaScript
Automated Testing using JavaScript
Simon Guest
 
Automation Abstraction Layers: Page Objects and Beyond
Automation Abstraction Layers: Page Objects and BeyondAutomation Abstraction Layers: Page Objects and Beyond
Automation Abstraction Layers: Page Objects and Beyond
Alan Richardson
 
Protractor Tutorial Quality in Agile 2015
Protractor Tutorial Quality in Agile 2015Protractor Tutorial Quality in Agile 2015
Protractor Tutorial Quality in Agile 2015
Andrew Eisenberg
 
ForwardJS 2017 - Fullstack end-to-end Test Automation with node.js
ForwardJS 2017 -  Fullstack end-to-end Test Automation with node.jsForwardJS 2017 -  Fullstack end-to-end Test Automation with node.js
ForwardJS 2017 - Fullstack end-to-end Test Automation with node.js
Mek Srunyu Stittri
 
Carmen Popoviciu - Protractor styleguide | Codemotion Milan 2015
Carmen Popoviciu - Protractor styleguide | Codemotion Milan 2015Carmen Popoviciu - Protractor styleguide | Codemotion Milan 2015
Carmen Popoviciu - Protractor styleguide | Codemotion Milan 2015
Codemotion
 
Webdriver.io
Webdriver.io Webdriver.io
Webdriver.io
LinkMe Srl
 
Nightwatch at Tilt
Nightwatch at TiltNightwatch at Tilt
Nightwatch at Tilt
Dave King
 
High Performance JavaScript 2011
High Performance JavaScript 2011High Performance JavaScript 2011
High Performance JavaScript 2011
Nicholas Zakas
 
Automated Smoke Tests with Protractor
Automated Smoke Tests with ProtractorAutomated Smoke Tests with Protractor
Automated Smoke Tests with Protractor
🌱 Dale Spoonemore
 
20160905 - BrisJS - nightwatch testing
20160905 - BrisJS - nightwatch testing20160905 - BrisJS - nightwatch testing
20160905 - BrisJS - nightwatch testing
Vladimir Roudakov
 
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
Alan Richardson
 
UI Testing Automation - Alex Kalinovsky - CreamTec LLC
UI Testing Automation - Alex Kalinovsky - CreamTec LLCUI Testing Automation - Alex Kalinovsky - CreamTec LLC
UI Testing Automation - Alex Kalinovsky - CreamTec LLC
Jim Lane
 
Test-driven Development with Drupal and Codeception (DrupalCamp Brighton)
Test-driven Development with Drupal and Codeception (DrupalCamp Brighton)Test-driven Development with Drupal and Codeception (DrupalCamp Brighton)
Test-driven Development with Drupal and Codeception (DrupalCamp Brighton)
Cogapp
 
Codeception introduction and use in Yii
Codeception introduction and use in YiiCodeception introduction and use in Yii
Codeception introduction and use in Yii
IlPeach
 
Acceptance & Functional Testing with Codeception - Devspace 2015
Acceptance & Functional Testing with Codeception - Devspace 2015 Acceptance & Functional Testing with Codeception - Devspace 2015
Acceptance & Functional Testing with Codeception - Devspace 2015
Joe Ferguson
 
Better Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component PatternBetter Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component Pattern
Sargis Sargsyan
 

What's hot (20)

Join the darkside: Selenium testing with Nightwatch.js
Join the darkside: Selenium testing with Nightwatch.jsJoin the darkside: Selenium testing with Nightwatch.js
Join the darkside: Selenium testing with Nightwatch.js
 
Automated Frontend Testing
Automated Frontend TestingAutomated Frontend Testing
Automated Frontend Testing
 
Night Watch with QA
Night Watch with QANight Watch with QA
Night Watch with QA
 
UI Testing Automation
UI Testing AutomationUI Testing Automation
UI Testing Automation
 
Automated Testing using JavaScript
Automated Testing using JavaScriptAutomated Testing using JavaScript
Automated Testing using JavaScript
 
Automation Abstraction Layers: Page Objects and Beyond
Automation Abstraction Layers: Page Objects and BeyondAutomation Abstraction Layers: Page Objects and Beyond
Automation Abstraction Layers: Page Objects and Beyond
 
Protractor Tutorial Quality in Agile 2015
Protractor Tutorial Quality in Agile 2015Protractor Tutorial Quality in Agile 2015
Protractor Tutorial Quality in Agile 2015
 
ForwardJS 2017 - Fullstack end-to-end Test Automation with node.js
ForwardJS 2017 -  Fullstack end-to-end Test Automation with node.jsForwardJS 2017 -  Fullstack end-to-end Test Automation with node.js
ForwardJS 2017 - Fullstack end-to-end Test Automation with node.js
 
Carmen Popoviciu - Protractor styleguide | Codemotion Milan 2015
Carmen Popoviciu - Protractor styleguide | Codemotion Milan 2015Carmen Popoviciu - Protractor styleguide | Codemotion Milan 2015
Carmen Popoviciu - Protractor styleguide | Codemotion Milan 2015
 
Webdriver.io
Webdriver.io Webdriver.io
Webdriver.io
 
Nightwatch at Tilt
Nightwatch at TiltNightwatch at Tilt
Nightwatch at Tilt
 
High Performance JavaScript 2011
High Performance JavaScript 2011High Performance JavaScript 2011
High Performance JavaScript 2011
 
Automated Smoke Tests with Protractor
Automated Smoke Tests with ProtractorAutomated Smoke Tests with Protractor
Automated Smoke Tests with Protractor
 
20160905 - BrisJS - nightwatch testing
20160905 - BrisJS - nightwatch testing20160905 - BrisJS - nightwatch testing
20160905 - BrisJS - nightwatch testing
 
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
Hands on Exploration of Page Objects and Abstraction Layers with Selenium Web...
 
UI Testing Automation - Alex Kalinovsky - CreamTec LLC
UI Testing Automation - Alex Kalinovsky - CreamTec LLCUI Testing Automation - Alex Kalinovsky - CreamTec LLC
UI Testing Automation - Alex Kalinovsky - CreamTec LLC
 
Test-driven Development with Drupal and Codeception (DrupalCamp Brighton)
Test-driven Development with Drupal and Codeception (DrupalCamp Brighton)Test-driven Development with Drupal and Codeception (DrupalCamp Brighton)
Test-driven Development with Drupal and Codeception (DrupalCamp Brighton)
 
Codeception introduction and use in Yii
Codeception introduction and use in YiiCodeception introduction and use in Yii
Codeception introduction and use in Yii
 
Acceptance & Functional Testing with Codeception - Devspace 2015
Acceptance & Functional Testing with Codeception - Devspace 2015 Acceptance & Functional Testing with Codeception - Devspace 2015
Acceptance & Functional Testing with Codeception - Devspace 2015
 
Better Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component PatternBetter Page Object Handling with Loadable Component Pattern
Better Page Object Handling with Loadable Component Pattern
 

Similar to Automate testing with behat, selenium, phantom js and nightwatch.js (5)

Meaningful UI Test Automation
Meaningful UI Test AutomationMeaningful UI Test Automation
Meaningful UI Test Automation
Rahul Verma
 
Meaningful UI Test Automation
Meaningful UI Test AutomationMeaningful UI Test Automation
Meaningful UI Test Automation
Rahul Verma
 
SEO consultant Dubai
SEO consultant DubaiSEO consultant Dubai
SEO consultant Dubai
LampMedia Tech
 
SEO packages Dubai
SEO packages DubaiSEO packages Dubai
SEO packages Dubai
LampMedia Tech
 
Webinar-DevOps.pdf
Webinar-DevOps.pdfWebinar-DevOps.pdf
Webinar-DevOps.pdf
Amazon Web Services
 
Automated perf optimization - html5 dev conf
Automated perf optimization - html5 dev confAutomated perf optimization - html5 dev conf
Automated perf optimization - html5 dev conf
Matthew Lancaster
 
Agile engineering environment 50 minutes or less
Agile engineering environment   50 minutes or lessAgile engineering environment   50 minutes or less
Agile engineering environment 50 minutes or less
Vernon Stinebaker
 
Agile Engineering Environment – 2017
Agile Engineering Environment – 2017Agile Engineering Environment – 2017
Agile Engineering Environment – 2017
India Scrum Enthusiasts Community
 
Agile Engineering Environment – 2017
Agile Engineering Environment – 2017Agile Engineering Environment – 2017
Agile Engineering Environment – 2017
India Scrum Enthusiasts Community
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
Amazon Web Services
 
How to achieve security, reliability, and productivity in less time
How to achieve security, reliability, and productivity in less timeHow to achieve security, reliability, and productivity in less time
How to achieve security, reliability, and productivity in less time
Rogue Wave Software
 
Top 13 best front end web development tools to consider in 2021
Top 13 best front end web development tools to consider in 2021Top 13 best front end web development tools to consider in 2021
Top 13 best front end web development tools to consider in 2021
Samaritan InfoTech
 
FSV308-Culture Shift How to Move a Global Financial Services Organization to ...
FSV308-Culture Shift How to Move a Global Financial Services Organization to ...FSV308-Culture Shift How to Move a Global Financial Services Organization to ...
FSV308-Culture Shift How to Move a Global Financial Services Organization to ...
Amazon Web Services
 
Unit testing for project managers
Unit testing for project managersUnit testing for project managers
Unit testing for project managers
Zend by Rogue Wave Software
 
What if you could eliminate the hidden costs of development?
What if you could eliminate the hidden costs of development?What if you could eliminate the hidden costs of development?
What if you could eliminate the hidden costs of development?
Rogue Wave Software
 
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
RapidValue
 
QA Role in Agile Teams
QA Role in Agile Teams QA Role in Agile Teams
QA Role in Agile Teams
Synerzip
 
SAPUI5/OpenUI5 - Continuous Integration
SAPUI5/OpenUI5 - Continuous IntegrationSAPUI5/OpenUI5 - Continuous Integration
SAPUI5/OpenUI5 - Continuous Integration
Peter Muessig
 
DevOps 2017 Conf: evolving from automated to continuous
DevOps 2017 Conf: evolving from automated to continuousDevOps 2017 Conf: evolving from automated to continuous
DevOps 2017 Conf: evolving from automated to continuous
Arthur Hicken
 
Automate you Appium test like a pro!
Automate you Appium test like a pro!Automate you Appium test like a pro!
Automate you Appium test like a pro!
TestObject - Mobile Testing
 

Similar to Automate testing with behat, selenium, phantom js and nightwatch.js (5) (20)

Meaningful UI Test Automation
Meaningful UI Test AutomationMeaningful UI Test Automation
Meaningful UI Test Automation
 
Meaningful UI Test Automation
Meaningful UI Test AutomationMeaningful UI Test Automation
Meaningful UI Test Automation
 
SEO consultant Dubai
SEO consultant DubaiSEO consultant Dubai
SEO consultant Dubai
 
SEO packages Dubai
SEO packages DubaiSEO packages Dubai
SEO packages Dubai
 
Webinar-DevOps.pdf
Webinar-DevOps.pdfWebinar-DevOps.pdf
Webinar-DevOps.pdf
 
Automated perf optimization - html5 dev conf
Automated perf optimization - html5 dev confAutomated perf optimization - html5 dev conf
Automated perf optimization - html5 dev conf
 
Agile engineering environment 50 minutes or less
Agile engineering environment   50 minutes or lessAgile engineering environment   50 minutes or less
Agile engineering environment 50 minutes or less
 
Agile Engineering Environment – 2017
Agile Engineering Environment – 2017Agile Engineering Environment – 2017
Agile Engineering Environment – 2017
 
Agile Engineering Environment – 2017
Agile Engineering Environment – 2017Agile Engineering Environment – 2017
Agile Engineering Environment – 2017
 
DevOps on AWS
DevOps on AWSDevOps on AWS
DevOps on AWS
 
How to achieve security, reliability, and productivity in less time
How to achieve security, reliability, and productivity in less timeHow to achieve security, reliability, and productivity in less time
How to achieve security, reliability, and productivity in less time
 
Top 13 best front end web development tools to consider in 2021
Top 13 best front end web development tools to consider in 2021Top 13 best front end web development tools to consider in 2021
Top 13 best front end web development tools to consider in 2021
 
FSV308-Culture Shift How to Move a Global Financial Services Organization to ...
FSV308-Culture Shift How to Move a Global Financial Services Organization to ...FSV308-Culture Shift How to Move a Global Financial Services Organization to ...
FSV308-Culture Shift How to Move a Global Financial Services Organization to ...
 
Unit testing for project managers
Unit testing for project managersUnit testing for project managers
Unit testing for project managers
 
What if you could eliminate the hidden costs of development?
What if you could eliminate the hidden costs of development?What if you could eliminate the hidden costs of development?
What if you could eliminate the hidden costs of development?
 
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
Live Webinar- Making Test Automation 10x Faster for Continuous Delivery- By R...
 
QA Role in Agile Teams
QA Role in Agile Teams QA Role in Agile Teams
QA Role in Agile Teams
 
SAPUI5/OpenUI5 - Continuous Integration
SAPUI5/OpenUI5 - Continuous IntegrationSAPUI5/OpenUI5 - Continuous Integration
SAPUI5/OpenUI5 - Continuous Integration
 
DevOps 2017 Conf: evolving from automated to continuous
DevOps 2017 Conf: evolving from automated to continuousDevOps 2017 Conf: evolving from automated to continuous
DevOps 2017 Conf: evolving from automated to continuous
 
Automate you Appium test like a pro!
Automate you Appium test like a pro!Automate you Appium test like a pro!
Automate you Appium test like a pro!
 

More from Faichi Solutions

Automate estimates, resource loading , and sprint plans!
Automate estimates, resource loading , and sprint plans! Automate estimates, resource loading , and sprint plans!
Automate estimates, resource loading , and sprint plans!
Faichi Solutions
 
Project Estimation Tool
Project Estimation Tool Project Estimation Tool
Project Estimation Tool
Faichi Solutions
 
Chronic care management_success_story1.3
Chronic care management_success_story1.3Chronic care management_success_story1.3
Chronic care management_success_story1.3
Faichi Solutions
 
Health Application Integration with (Electronic Health Records) EHR systems
Health Application Integration with (Electronic Health Records) EHR systemsHealth Application Integration with (Electronic Health Records) EHR systems
Health Application Integration with (Electronic Health Records) EHR systems
Faichi Solutions
 
Success stories web application ui & analytics
Success stories web application ui & analyticsSuccess stories web application ui & analytics
Success stories web application ui & analytics
Faichi Solutions
 
Management ui for_enterprise_network_security
Management ui for_enterprise_network_securityManagement ui for_enterprise_network_security
Management ui for_enterprise_network_security
Faichi Solutions
 
Project Management Nightmares For Startups By Rahul Sudame
Project Management Nightmares For Startups By Rahul SudameProject Management Nightmares For Startups By Rahul Sudame
Project Management Nightmares For Startups By Rahul Sudame
Faichi Solutions
 
Offshore development center (odc) setup up by faichi solutions - Case Study
Offshore development center (odc) setup up by faichi solutions - Case StudyOffshore development center (odc) setup up by faichi solutions - Case Study
Offshore development center (odc) setup up by faichi solutions - Case Study
Faichi Solutions
 
Case study - Application Re architecture (ODC)
Case study - Application Re architecture (ODC)Case study - Application Re architecture (ODC)
Case study - Application Re architecture (ODC)
Faichi Solutions
 
Mobile Application Development - Creating generic framework for mobile applic...
Mobile Application Development - Creating generic framework for mobile applic...Mobile Application Development - Creating generic framework for mobile applic...
Mobile Application Development - Creating generic framework for mobile applic...
Faichi Solutions
 
Case Study - Developing Drupal Framework For ePublishing Platform Using Agile...
Case Study - Developing Drupal Framework For ePublishing Platform Using Agile...Case Study - Developing Drupal Framework For ePublishing Platform Using Agile...
Case Study - Developing Drupal Framework For ePublishing Platform Using Agile...
Faichi Solutions
 

More from Faichi Solutions (11)

Automate estimates, resource loading , and sprint plans!
Automate estimates, resource loading , and sprint plans! Automate estimates, resource loading , and sprint plans!
Automate estimates, resource loading , and sprint plans!
 
Project Estimation Tool
Project Estimation Tool Project Estimation Tool
Project Estimation Tool
 
Chronic care management_success_story1.3
Chronic care management_success_story1.3Chronic care management_success_story1.3
Chronic care management_success_story1.3
 
Health Application Integration with (Electronic Health Records) EHR systems
Health Application Integration with (Electronic Health Records) EHR systemsHealth Application Integration with (Electronic Health Records) EHR systems
Health Application Integration with (Electronic Health Records) EHR systems
 
Success stories web application ui & analytics
Success stories web application ui & analyticsSuccess stories web application ui & analytics
Success stories web application ui & analytics
 
Management ui for_enterprise_network_security
Management ui for_enterprise_network_securityManagement ui for_enterprise_network_security
Management ui for_enterprise_network_security
 
Project Management Nightmares For Startups By Rahul Sudame
Project Management Nightmares For Startups By Rahul SudameProject Management Nightmares For Startups By Rahul Sudame
Project Management Nightmares For Startups By Rahul Sudame
 
Offshore development center (odc) setup up by faichi solutions - Case Study
Offshore development center (odc) setup up by faichi solutions - Case StudyOffshore development center (odc) setup up by faichi solutions - Case Study
Offshore development center (odc) setup up by faichi solutions - Case Study
 
Case study - Application Re architecture (ODC)
Case study - Application Re architecture (ODC)Case study - Application Re architecture (ODC)
Case study - Application Re architecture (ODC)
 
Mobile Application Development - Creating generic framework for mobile applic...
Mobile Application Development - Creating generic framework for mobile applic...Mobile Application Development - Creating generic framework for mobile applic...
Mobile Application Development - Creating generic framework for mobile applic...
 
Case Study - Developing Drupal Framework For ePublishing Platform Using Agile...
Case Study - Developing Drupal Framework For ePublishing Platform Using Agile...Case Study - Developing Drupal Framework For ePublishing Platform Using Agile...
Case Study - Developing Drupal Framework For ePublishing Platform Using Agile...
 

Recently uploaded

Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
Matthew Sinclair
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
danishmna97
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
panagenda
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
akankshawande
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
Chart Kalyan
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
tolgahangng
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
fredae14
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
Zilliz
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
Federico Razzoli
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
David Brossard
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
Octavian Nadolu
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
Mariano Tinti
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Malak Abu Hammad
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 

Recently uploaded (20)

Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
20240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 202420240609 QFM020 Irresponsible AI Reading List May 2024
20240609 QFM020 Irresponsible AI Reading List May 2024
 
How to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptxHow to Get CNIC Information System with Paksim Ga.pptx
How to Get CNIC Information System with Paksim Ga.pptx
 
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAUHCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
HCL Notes und Domino Lizenzkostenreduzierung in der Welt von DLAU
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development ProvidersYour One-Stop Shop for Python Success: Top 10 US Python Development Providers
Your One-Stop Shop for Python Success: Top 10 US Python Development Providers
 
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdfHow to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
How to Interpret Trends in the Kalyan Rajdhani Mix Chart.pdf
 
Serial Arm Control in Real Time Presentation
Serial Arm Control in Real Time PresentationSerial Arm Control in Real Time Presentation
Serial Arm Control in Real Time Presentation
 
Recommendation System using RAG Architecture
Recommendation System using RAG ArchitectureRecommendation System using RAG Architecture
Recommendation System using RAG Architecture
 
Fueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte WebinarFueling AI with Great Data with Airbyte Webinar
Fueling AI with Great Data with Airbyte Webinar
 
Webinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data WarehouseWebinar: Designing a schema for a Data Warehouse
Webinar: Designing a schema for a Data Warehouse
 
OpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - AuthorizationOpenID AuthZEN Interop Read Out - Authorization
OpenID AuthZEN Interop Read Out - Authorization
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
Artificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopmentArtificial Intelligence for XMLDevelopment
Artificial Intelligence for XMLDevelopment
 
Mariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceXMariano G Tinti - Decoding SpaceX
Mariano G Tinti - Decoding SpaceX
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdfUnlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
Unlock the Future of Search with MongoDB Atlas_ Vector Search Unleashed.pdf
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 

Automate testing with behat, selenium, phantom js and nightwatch.js (5)

  • 1. ©2017 Faichi Solutions Pvt. Ltd. Automate Testing with Behat, Selenium, PhantomJs and Nightwatch.js
  • 2. ©2017 Faichi Solutions Pvt. Ltd. 2 Nikhil Sukul Senior Drupal Architect Faichi Solutions LLC nikhilsukul nikhilsukul Nikhil is an open source enthusiast and contributor to Drupal and its community. He has an overall software experience of 17+ years and has been active in Drupal space since last 9 years. Speakers, who? Gaurav Bajpai Senior Drupal Developer Faichi Solutions LLC gaurav02b gaurav-bajpai Gaurav is an active member and contributor to Drupal community. His overall Drupal experience is 5+ years. He is Acquia certified developer.
  • 8. ©2017 Faichi Solutions Pvt. Ltd. What is Testing
  • 9. ©2017 Faichi Solutions Pvt. Ltd. 9 • In general, testing is finding out how well something works, • Software testing is the process of evaluation a software item to detect differences between given input and expected output.
  • 10. ©2017 Faichi Solutions Pvt. Ltd. How to do Testing
  • 11. ©2017 Faichi Solutions Pvt. Ltd. 11
  • 12. ©2017 Faichi Solutions Pvt. Ltd. Why Testing
  • 13. ©2017 Faichi Solutions Pvt. Ltd. 13 • To point out the defects and errors made during the development phases. • Makes Customer’s reliability and their satisfaction in the application. • Effective performance of the software. • Application resulting to failure is very expensive in future or in later stages of the development.
  • 14. ©2017 Faichi Solutions Pvt. Ltd. 14
  • 15. ©2017 Faichi Solutions Pvt. Ltd. Who will Test?
  • 18. ©2017 Faichi Solutions Pvt. Ltd. They will Test
  • 19. ©2017 Faichi Solutions Pvt. Ltd. Types of Testing (By Execution)
  • 20. ©2017 Faichi Solutions Pvt. Ltd. 20 Manual Testing Automation TestingManual Testing Automation Testing
  • 21. ©2017 Faichi Solutions Pvt. Ltd. 21 Automation Testing Manual Testing It is very much helpful in regressions testing. To execute the test cases first time. Runs test cases significantly faster than human resources. Running tests manually can be very time consuming. Good for automating the Build Verification Testing (BVT) . To execute the Build Verification Testing (BVT) is very mundane and tiresome. Initial cost is high. Manual testing requires less cost than automation.
  • 22. ©2017 Faichi Solutions Pvt. Ltd. 22 Automated Testing
  • 23. ©2017 Faichi Solutions Pvt. Ltd. 23 Real browser testing Real Browsers are running and performing functions or commands in front of users in UI. Examples of Real browsers are Google Chrome, Firefox, and Internet Explorer etc.
  • 24. ©2017 Faichi Solutions Pvt. Ltd. 24 Headless browser testing • Headless browsers are basically web browsers that without a graphical user interface. • Examples of Headless browsers are PhantomJS and ZombieJS etc.
  • 25. ©2017 Faichi Solutions Pvt. Ltd. 25 Real vs Headless browser testing • Headless Browsers faster than real browsers: – Real browsers take time opening, rendering html, CSS, Javascript and images while headless browsers don’t require it. Headless browsers will start performing functions without waiting for page to load completely. • Headless browsers are not representing real users: – user bugs like images are crashing or not as UI is not showing up is very difficult to detect in headless browsers. • Error detection in real browsers is easy pesy: – In Real browser as functions are performing in front of user and he can interact with it so he can easily detect where the tests goes fail. And can easily debug if anything goes wrong. • Headless browsers does not support Ajax.
  • 26. ©2017 Faichi Solutions Pvt. Ltd. 26
  • 27. ©2017 Faichi Solutions Pvt. Ltd. 27 Selenium WebDriver is a collection of open source APIs which are used to automate the testing of a web application and it is platform-independent.
  • 28. ©2017 Faichi Solutions Pvt. Ltd. 28 How Selenium WebDriver works? You can Download Selenium Jar from http://selenium- release.storage.googleapis.com/index.html Chrome Driver IE Driver
  • 29. ©2017 Faichi Solutions Pvt. Ltd. 29 • Behat is an open source Behavior-Driven Development framework for PHP. • Behat is a tool to test the behavior of any application, described in special language called Gherkin. • Gherkin is a Business Readable, Domain Specific Language created especially for behavior descriptions. It gives you the ability to remove logic details from behavior tests.
  • 30. ©2017 Faichi Solutions Pvt. Ltd. 30 Feature: Some terse yet descriptive text of what is desired In order to realize a named business value As an explicit system actor I want to gain some beneficial outcome which furthers the goal Scenario: Some determinable business situation Given some precondition And some other precondition When some action by the actor And some other action And yet another action Then some testable outcome is achieved And something else we can check happens too Scenario: A different situation ...
  • 31. ©2017 Faichi Solutions Pvt. Ltd. 31 • Mink is the browser simulator for Behat. • It is a browser emulator abstraction layer. It hides emulator differences behind a single, consistent API. • Mink Support for both in-browser and headless browser emulators. It is a PHP 5.3+ library. You can Download and Install Behat and Mink: http://docs.behat.org/en/v2.5/cookbook/behat_and_mink.html
  • 32. ©2017 Faichi Solutions Pvt. Ltd. 32 “PhantomJS is a scripted, headless browser used for automating web page interaction. PhantomJS provides a JavaScript API enabling automated navigation, screenshots, user behavior and assertions making it a common tool used to run browser-based unit tests in a headless system like a continuous integration environment.” - wikipedia You can Download and Install PhantomJS: http://phantomjs.org/download.html
  • 33. ©2017 Faichi Solutions Pvt. Ltd. 33 • Headless website testing: – Run functional tests along with the frameworks like QUnit, Jasmine, Mocha, Capybara, WebDriver etc. • Screen capture: – taking screen capture programmatically. • The development can be very easier: – While developing the UI, you can write the code by selecting the HTML element wherever you wanted. • Test framework: – PhantomJS itself is not a test framework, it is only used to launch the tests via a suitable test runner. PhantomJS is a good:
  • 34. ©2017 Faichi Solutions Pvt. Ltd. 34 CasperJS is a navigation scripting & testing utility for PhantomJS headless browser, written in Javascript. CasperJs
  • 35. ©2017 Faichi Solutions Pvt. Ltd. 35 • A Browser Automation tool. • It is an easy to use Node.js based End-to-End (E2E) testing solution for browser based apps and websites. • It uses the powerful W3C WebDriver API to perform commands and assertions on DOM elements. You can Download and Install NightWatch.js: http://nightwatchjs.org/getingstarted#installation
  • 36. ©2017 Faichi Solutions Pvt. Ltd. 36 Nightwatch.js architecture
  • 37. ©2017 Faichi Solutions Pvt. Ltd. What to use and when?
  • 38. ©2017 Faichi Solutions Pvt. Ltd. 38
  • 39. ©2017 Faichi Solutions Pvt. Ltd. 39 References: http://www.softwaretestingclass.com/automation-testing-vs-manual-testing/ http://www.teluguone.com/teluguoneUserFiles/Nothing can stop Automation(1).png http://www.seleniumhq.org/projects/ide/selenium-ide.gif http://nightwatchjs.org/guide#theory-of-operation http://www.slideshare.net/sethmcl/join-the-darkside-nightwatchjs https://www.youtube.com/watch?v=-eJ2cZXyJ0E http://www.algoworks.com/blog/choosing-your-automated-testing-frameworks- phantomjscasperjs-vs-selenium/ http://craveco.de/posts/2016/03/16/part-2-automated-drupal-testing-behat- selenium-and-headless-firefox http://www.pngall.com/wp-content/uploads/2016/06/Browsers- Transparent.png http://economictimes.indiatimes.com/definition/selenium-web-driver http://mink.behat.org/en/latest http://phantomjs.org https://upload.wikimedia.org/wikipedia/commons/thumb/b/b3/Terminalicon2.p ng/480px-Terminalicon2.png http://shashikantjagtap.net/running-behat-scenarios-with-pahntomjs
  • 40.
  • 41. 41 CONNECT WITH US, ASK FOR A DEMO ! Faichi Solutions, LLC 640 W. California Ave Suite 210 Sunnyvale, CA 94086 Phone: +1 (408) 769-4941 Email: inform@faichi.com
  • 42. FAICHI SOLUTIONS PVT LTD USA: OFFICE NO. 230, 640 WEST CALIFORNIA AVENUE SUITE 210 SUNNYVALE, CA 94086 TEL: +1 (408) 769-4941 INDIA: ACCORD IT PARK, BANER ROAD, PUNE, MAHARASHATRA-411045 PH. NO. +91-20-65291435 THANK YOU