SlideShare a Scribd company logo
1 of 37
Download to read offline
The	
  What,	
  Why	
  &	
  How	
  
            of	
  	
  
Web	
  Analy3cs	
  Tes3ng	
  
            Anand	
  Bagmar	
  
       So#ware	
  Quality	
  Evangelist	
  
   Principal	
  Consultant,	
  ThoughtWorks	
  
Why	
  do	
  we	
  do	
  Tes3ng?	
  
What	
  is	
  Web	
  Analy3cs?	
  
Why	
  do	
  we	
  need	
  it?	
  
Adobe	
  Marke*ng	
  
                  Cloud	
  /	
  Omniture	
  
                     SiteCatalyst	
  



      …	
                                      WebTrends	
  


                   Web	
  Analy*cs	
  
                     Solu*on	
  
                    Providers	
  


StatCounter	
                                   AWStats	
  




                  Google	
  Analy*cs	
  
How	
  to	
  test	
  Web	
  Analy3cs?	
  
The	
  end	
  report	
  
Tes3ng	
  at	
  the	
  report	
  level	
  

Pros	
  
•  Ensure	
  report	
  is	
  setup	
  correctly	
  
	
  
Cons	
  
•  Licensing	
  
•  Reports	
  not	
  yet	
  setup	
  
•  Validate	
  all	
  requests	
  are	
  sent	
  /	
  captured	
  
At	
  the	
  origin!	
  
The	
  problem	
  
Manual	
  
The	
  challenge	
  
Repea3ng	
  over-­‐and-­‐over	
  again	
  
The	
  solu3on	
  
What	
  does	
  WAAT	
  do	
  for	
  me?	
  

•  Minimal	
  changes	
  to	
  exisFng	
  test	
  framework	
  	
  
•  Does	
  not	
  depend	
  on	
  junit	
  /	
  testng	
  /	
  …	
  
•  Web	
  AnalyFc	
  tool	
  independent	
  
•  UI	
  Driver	
  framework	
  independent	
  
•  Browser	
  independent	
  
Flavors	
  
Architecture	
  
WAAT	
  -­‐	
  Java	
  

•  Original	
  flavor	
  
•  Source	
  code	
  +	
  jar	
  	
  
•  Supports	
  3	
  plugins	
  	
  
    •  Omniture	
  Debugger	
  
    •  HUpSniffer	
  
    •  JsSniffer	
  
•  Available	
  on	
  github	
  
WAAT	
  -­‐	
  Ruby	
  

•  Ruby	
  gem	
  implemented	
  over	
  WAAT-­‐Java	
  
•  Uses	
  RJB	
  –	
  Ruby-­‐Java-­‐Bridge	
  
•  Supports	
  2	
  plugins	
  
   •  HUpSniffer	
  
   •  JsSniffer	
  
•  Available	
  on	
  github	
  and	
  rubygems.org	
  
Omniture	
  Debugger	
  
Omniture	
  Debugger	
  
How	
  does	
  it	
  work?	
  
	
  
Pros	
  
•  OS	
  independent	
  
•  Run	
  using	
  the	
  regular	
  test-­‐user	
  
	
  
Cons	
  
•  Browser	
  dependent	
  –	
  need	
  to	
  implement	
  
   ScriptRunner	
  for	
  the	
  UI-­‐driver	
  in	
  use	
  
•  Web-­‐AnalyFc	
  soluFon	
  dependent	
  –	
  Adobe	
  MarkeFng	
  
     Cloud	
  /	
  Omniture	
  SiteCatalyst	
  
	
  
HHpSniffer	
  
How	
  does	
  it	
  work?	
  
	
  
Pros	
  
•  Web-­‐analyFc	
  soluFon	
  independent	
  
•  Browser	
  independent	
  
•  UI-­‐driver	
  independent	
  
	
  
Cons	
  
      rd
•  3 	
  party	
  libraries	
  are	
  OS	
  Dependent	
  
•  HTTPs	
  not	
  supported	
  out-­‐of-­‐the-­‐box	
  
•  Run	
  tests	
  as	
  ‘root’	
  
	
  
JsSniffer	
  
How	
  does	
  it	
  work?	
  
	
  
Pros	
  
•      Web-­‐analyFc	
  soluFon	
  independent	
  
•      Browser	
  independent	
  
•      HTTPs	
  supported	
  out-­‐of-­‐the-­‐box	
  
                                         rd
•      No	
  dependency	
  on	
  any	
  3 	
  party	
  library	
  	
  
	
  
Cons	
  
•  Need	
  to	
  write	
  javascript	
  to	
  get	
  the	
  URL	
  from	
  the	
  
   browser	
  
•  UI-­‐driver	
  dependent	
  
How	
  to	
  use	
  WAAT?	
  
•  Download	
  zip	
  from	
  github	
  /	
  rubygems.org	
  


•  Setup	
  


•  jpcap	
  /	
  ScriptRunner	
  setup       	
  	
  


•  Update	
  exis*ng	
  tests	
  
Update	
  exis3ng	
  Tests	
  
•  Import	
  relevant	
  packages	
  /	
  gems	
  

•  Define	
  &	
  provide	
  parameter	
  values	
  

•  Ini*alize	
  Engine	
  

•  Enable	
  Web	
  Analy*cs	
  Tes*ng	
  

•  Define	
  Test	
  Data	
  

•  Verify	
  Web	
  Analy*cs	
  repor*ng	
  using	
  WAAT	
  

•  Valida*ons	
  

•  Disable	
  Web	
  Analy*cs	
  Tes*ng	
  
Define	
  Test	
  Data	
  
<Section !!
   !actionName="OpenUpcomingPage_HttpSniffer"!
   !numberOfEventsTriggered="1"!
   !tagList="pageName=upcoming:index||!
    !    !    !cc=USD||!
    !    !    !ch=upcoming||!
    !    !    !events=event2||"/>!
Ini3alize	
  Engine	
  

    !engine = getInstance(!
!   !    !webAnalyticTool, !
!   !    !inputFileType, !
!   !    !keepLoadedFileInMemory, !!
!   !    !log4jPropertiesAbsoluteFilePath!
!   !    !);!
Enable	
  Web	
  Analy3cs	
  Tes3ng	
  



 engine.enableWebAnalyticsTesting();!
Verify	
  Web	
  Analy3cs	
  Repor3ng	
  

            Cart.checkout();!

!Result verificationResult = !!
!    !engine.verifyWebAnalyticsData (!
!    !    !inputDataFileName, !
!    !    !actionName, !
!    !    !urlPatterns, !
!    !    !minimumNumberOfPackets);!
Sample	
  Valida3ons	
  
assertNotNull(verificationResult.getVerificationStatus(),
"Verification status should NOT be NULL"); !
!
assertNotNull(verificationResult.getListOfErrors(),
"Failure details should NOT be NULL");
logVerificationErrors(verificationResult); !
!
assertEquals(verificationResult.getVerificationStatus(),
Status.PASS, "Verification status should be PASS"); !
!
assertEquals(verificationResult.getListOfErrors().size(),
0, "Failure details should be empty");!
Disable	
  Web	
  Analy3cs	
  Tes3ng	
  



 engine.disableWebAnalyticsTesting();!
Anand.Bagmar@thoughtworks.com	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  	
  Abagmar@gmail.com	
  

	
  

         	
          	
  @BagmarAnand	
  




                hUp://essenceo#esFng.blogspot.com/search/label/waat	
  

                                             hUps://github.com/anandbagmar/	
  

                                              hUp://rubygems.org/gems/WAAT	
  

More Related Content

What's hot

Advanced automated visual testing with Selenium
Advanced automated visual testing with SeleniumAdvanced automated visual testing with Selenium
Advanced automated visual testing with Seleniumadamcarmi
 
QA&test 2016 (Bilbao) Pros and Cons of Doing Performance Testing Along with D...
QA&test 2016 (Bilbao) Pros and Cons of Doing Performance Testing Along with D...QA&test 2016 (Bilbao) Pros and Cons of Doing Performance Testing Along with D...
QA&test 2016 (Bilbao) Pros and Cons of Doing Performance Testing Along with D...Federico Toledo
 
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 PatternSargis Sargsyan
 
Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017
Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017
Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017Matt Raible
 
Protractor for angularJS
Protractor for angularJSProtractor for angularJS
Protractor for angularJSKrishna Kumar
 
Getting By Without "QA"
Getting By Without "QA"Getting By Without "QA"
Getting By Without "QA"Dave King
 
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020Anand Bagmar
 
Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011dimakovalenko
 
What's New in JHipsterLand - DevNexus 2017
What's New in JHipsterLand - DevNexus 2017What's New in JHipsterLand - DevNexus 2017
What's New in JHipsterLand - DevNexus 2017Matt Raible
 
Testing Angular Applications - Jfokus 2017
Testing Angular Applications - Jfokus 2017Testing Angular Applications - Jfokus 2017
Testing Angular Applications - Jfokus 2017Matt Raible
 
Blow up when things are wrong
Blow up when things are wrongBlow up when things are wrong
Blow up when things are wrongVesa Vänskä
 
Rewrite vs Refactor (AgileIndia 2021)
Rewrite vs Refactor (AgileIndia 2021)Rewrite vs Refactor (AgileIndia 2021)
Rewrite vs Refactor (AgileIndia 2021)Anand Bagmar
 
Testing Angular 2 Applications - Rich Web 2016
Testing Angular 2 Applications - Rich Web 2016Testing Angular 2 Applications - Rich Web 2016
Testing Angular 2 Applications - Rich Web 2016Matt Raible
 
Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020Anand Bagmar
 
BuildStatus - PiterJS #1
BuildStatus - PiterJS #1BuildStatus - PiterJS #1
BuildStatus - PiterJS #1PiterJS
 
Protractor Tutorial Quality in Agile 2015
Protractor Tutorial Quality in Agile 2015Protractor Tutorial Quality in Agile 2015
Protractor Tutorial Quality in Agile 2015Andrew Eisenberg
 

What's hot (20)

Advanced automated visual testing with Selenium
Advanced automated visual testing with SeleniumAdvanced automated visual testing with Selenium
Advanced automated visual testing with Selenium
 
Selenium with protractor
Selenium with protractorSelenium with protractor
Selenium with protractor
 
QA&test 2016 (Bilbao) Pros and Cons of Doing Performance Testing Along with D...
QA&test 2016 (Bilbao) Pros and Cons of Doing Performance Testing Along with D...QA&test 2016 (Bilbao) Pros and Cons of Doing Performance Testing Along with D...
QA&test 2016 (Bilbao) Pros and Cons of Doing Performance Testing Along with D...
 
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
 
Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017
Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017
Building a PWA with Ionic, Angular and Spring Boot - Jfokus 2017
 
Protractor for angularJS
Protractor for angularJSProtractor for angularJS
Protractor for angularJS
 
Getting By Without "QA"
Getting By Without "QA"Getting By Without "QA"
Getting By Without "QA"
 
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
Visual Validation - The missing tip of the automation pyramid @AgileIndia2020
 
Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011Selenium and Cucumber Selenium Conf 2011
Selenium and Cucumber Selenium Conf 2011
 
What's New in JHipsterLand - DevNexus 2017
What's New in JHipsterLand - DevNexus 2017What's New in JHipsterLand - DevNexus 2017
What's New in JHipsterLand - DevNexus 2017
 
Testing Angular Applications - Jfokus 2017
Testing Angular Applications - Jfokus 2017Testing Angular Applications - Jfokus 2017
Testing Angular Applications - Jfokus 2017
 
Blow up when things are wrong
Blow up when things are wrongBlow up when things are wrong
Blow up when things are wrong
 
Rewrite vs Refactor (AgileIndia 2021)
Rewrite vs Refactor (AgileIndia 2021)Rewrite vs Refactor (AgileIndia 2021)
Rewrite vs Refactor (AgileIndia 2021)
 
Build testable laravel app
Build testable laravel appBuild testable laravel app
Build testable laravel app
 
Testing Angular 2 Applications - Rich Web 2016
Testing Angular 2 Applications - Rich Web 2016Testing Angular 2 Applications - Rich Web 2016
Testing Angular 2 Applications - Rich Web 2016
 
Build testable laravel app
Build testable laravel appBuild testable laravel app
Build testable laravel app
 
Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020Getting started with Visual Testing using Applitools - @TPC, Feb2020
Getting started with Visual Testing using Applitools - @TPC, Feb2020
 
BuildStatus - PiterJS #1
BuildStatus - PiterJS #1BuildStatus - PiterJS #1
BuildStatus - PiterJS #1
 
Ug. marketplace testing
Ug. marketplace testingUg. marketplace testing
Ug. marketplace testing
 
Protractor Tutorial Quality in Agile 2015
Protractor Tutorial Quality in Agile 2015Protractor Tutorial Quality in Agile 2015
Protractor Tutorial Quality in Agile 2015
 

Viewers also liked

Omniture SiteCatalyst vs. Google Analytics - An Objective Comparison
Omniture SiteCatalyst vs. Google Analytics - An Objective ComparisonOmniture SiteCatalyst vs. Google Analytics - An Objective Comparison
Omniture SiteCatalyst vs. Google Analytics - An Objective ComparisonSemetis
 
RWD Testing - Baiju Joseph
RWD Testing - Baiju JosephRWD Testing - Baiju Joseph
RWD Testing - Baiju JosephThoughtworks
 
Testing Content Effectiveness - Penn State 2015
Testing Content Effectiveness - Penn State 2015Testing Content Effectiveness - Penn State 2015
Testing Content Effectiveness - Penn State 2015NewCity
 
Testing – responsive web design
Testing – responsive web designTesting – responsive web design
Testing – responsive web designBaiju Joseph
 
How to do better Quality Assurance for Cross-Browser Testing
How to do better Quality Assurance for Cross-Browser TestingHow to do better Quality Assurance for Cross-Browser Testing
How to do better Quality Assurance for Cross-Browser TestingBOSS Webtech
 
Inside Out of A Web Analyst Mind
Inside Out of A Web Analyst MindInside Out of A Web Analyst Mind
Inside Out of A Web Analyst MindTallada Kishore
 
Digital analytics: Visualization (Lecture 5)
Digital analytics: Visualization (Lecture 5)Digital analytics: Visualization (Lecture 5)
Digital analytics: Visualization (Lecture 5)Joni Salminen
 
Cross browser testing
Cross browser testingCross browser testing
Cross browser testingSauce Labs
 
Tools that help and speed up RWD dev
Tools that help  and speed up RWD devTools that help  and speed up RWD dev
Tools that help and speed up RWD devMatjaž Korošec
 
Future of Visitor Audience segmentation
Future of Visitor Audience segmentationFuture of Visitor Audience segmentation
Future of Visitor Audience segmentationTallada Kishore
 
Making the Transition from Manual to Automated Testing
Making the Transition from Manual to Automated TestingMaking the Transition from Manual to Automated Testing
Making the Transition from Manual to Automated TestingSauce Labs
 
Advanced analytics proposal review guide
Advanced analytics proposal review guideAdvanced analytics proposal review guide
Advanced analytics proposal review guideEddy Ti
 
Digital analytics with R - Sydney Users of R Forum - May 2015
Digital analytics with R - Sydney Users of R Forum - May 2015Digital analytics with R - Sydney Users of R Forum - May 2015
Digital analytics with R - Sydney Users of R Forum - May 2015Johann de Boer
 
Proposal 12 - Visual Analytics
Proposal 12 - Visual AnalyticsProposal 12 - Visual Analytics
Proposal 12 - Visual AnalyticsCISTI ICIST
 
Design to Differentiate An Approach to Test, Target and Learn
Design to Differentiate An Approach to Test, Target and LearnDesign to Differentiate An Approach to Test, Target and Learn
Design to Differentiate An Approach to Test, Target and LearnTallada Kishore
 
Cross-browser testing in the real world
Cross-browser testing in the real worldCross-browser testing in the real world
Cross-browser testing in the real worldMartin Kleppmann
 
Models of audience segmentation
Models of audience segmentationModels of audience segmentation
Models of audience segmentationfin98
 
Data Science for e-commerce
Data Science for e-commerceData Science for e-commerce
Data Science for e-commerceInfoFarm
 

Viewers also liked (20)

Omniture SiteCatalyst vs. Google Analytics - An Objective Comparison
Omniture SiteCatalyst vs. Google Analytics - An Objective ComparisonOmniture SiteCatalyst vs. Google Analytics - An Objective Comparison
Omniture SiteCatalyst vs. Google Analytics - An Objective Comparison
 
RWD Testing - Baiju Joseph
RWD Testing - Baiju JosephRWD Testing - Baiju Joseph
RWD Testing - Baiju Joseph
 
Testing Content Effectiveness - Penn State 2015
Testing Content Effectiveness - Penn State 2015Testing Content Effectiveness - Penn State 2015
Testing Content Effectiveness - Penn State 2015
 
Testing – responsive web design
Testing – responsive web designTesting – responsive web design
Testing – responsive web design
 
How to do better Quality Assurance for Cross-Browser Testing
How to do better Quality Assurance for Cross-Browser TestingHow to do better Quality Assurance for Cross-Browser Testing
How to do better Quality Assurance for Cross-Browser Testing
 
Web analytics using R
Web analytics using RWeb analytics using R
Web analytics using R
 
Inside Out of A Web Analyst Mind
Inside Out of A Web Analyst MindInside Out of A Web Analyst Mind
Inside Out of A Web Analyst Mind
 
Digital analytics: Visualization (Lecture 5)
Digital analytics: Visualization (Lecture 5)Digital analytics: Visualization (Lecture 5)
Digital analytics: Visualization (Lecture 5)
 
Content testing
Content testingContent testing
Content testing
 
Cross browser testing
Cross browser testingCross browser testing
Cross browser testing
 
Tools that help and speed up RWD dev
Tools that help  and speed up RWD devTools that help  and speed up RWD dev
Tools that help and speed up RWD dev
 
Future of Visitor Audience segmentation
Future of Visitor Audience segmentationFuture of Visitor Audience segmentation
Future of Visitor Audience segmentation
 
Making the Transition from Manual to Automated Testing
Making the Transition from Manual to Automated TestingMaking the Transition from Manual to Automated Testing
Making the Transition from Manual to Automated Testing
 
Advanced analytics proposal review guide
Advanced analytics proposal review guideAdvanced analytics proposal review guide
Advanced analytics proposal review guide
 
Digital analytics with R - Sydney Users of R Forum - May 2015
Digital analytics with R - Sydney Users of R Forum - May 2015Digital analytics with R - Sydney Users of R Forum - May 2015
Digital analytics with R - Sydney Users of R Forum - May 2015
 
Proposal 12 - Visual Analytics
Proposal 12 - Visual AnalyticsProposal 12 - Visual Analytics
Proposal 12 - Visual Analytics
 
Design to Differentiate An Approach to Test, Target and Learn
Design to Differentiate An Approach to Test, Target and LearnDesign to Differentiate An Approach to Test, Target and Learn
Design to Differentiate An Approach to Test, Target and Learn
 
Cross-browser testing in the real world
Cross-browser testing in the real worldCross-browser testing in the real world
Cross-browser testing in the real world
 
Models of audience segmentation
Models of audience segmentationModels of audience segmentation
Models of audience segmentation
 
Data Science for e-commerce
Data Science for e-commerceData Science for e-commerce
Data Science for e-commerce
 

Similar to The what, why and how of web analytics testing

Browser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.jsBrowser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.jsLuís Bastião Silva
 
UI Testing Automation
UI Testing AutomationUI Testing Automation
UI Testing AutomationAgileEngine
 
Node.js Development Workflow Automation with Grunt.js
Node.js Development Workflow Automation with Grunt.jsNode.js Development Workflow Automation with Grunt.js
Node.js Development Workflow Automation with Grunt.jskiyanwang
 
Qtp complete guide for all
Qtp complete guide for allQtp complete guide for all
Qtp complete guide for allRamu Palanki
 
How to Contribute to Apache Usergrid
How to Contribute to Apache UsergridHow to Contribute to Apache Usergrid
How to Contribute to Apache UsergridDavid M. Johnson
 
Web a Quebec - JS Debugging
Web a Quebec - JS DebuggingWeb a Quebec - JS Debugging
Web a Quebec - JS DebuggingRami Sayar
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples Yochay Kiriaty
 
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...seleniumconf
 
1,2,3 … Testing : Is this thing on(line)? with Mike Martin
1,2,3 … Testing : Is this thing on(line)? with Mike Martin1,2,3 … Testing : Is this thing on(line)? with Mike Martin
1,2,3 … Testing : Is this thing on(line)? with Mike MartinNETUserGroupBern
 
Build your own analytics power tools
Build your own analytics power toolsBuild your own analytics power tools
Build your own analytics power toolsAlban Gérôme
 
Real-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTCReal-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTCAlexandre Gouaillard
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfullyTEST Huddle
 
The Many Ways to Test Your React App
The Many Ways to Test Your React AppThe Many Ways to Test Your React App
The Many Ways to Test Your React AppAll Things Open
 
Open Policy Agent for governance as a code
Open Policy Agent for governance as a code Open Policy Agent for governance as a code
Open Policy Agent for governance as a code Alexander Tokarev
 
Testing Ext JS and Sencha Touch
Testing Ext JS and Sencha TouchTesting Ext JS and Sencha Touch
Testing Ext JS and Sencha TouchMats Bryntse
 
Badneedles
BadneedlesBadneedles
Badneedlesdimisec
 

Similar to The what, why and how of web analytics testing (20)

Browser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.jsBrowser Automated Testing Frameworks - Nightwatch.js
Browser Automated Testing Frameworks - Nightwatch.js
 
UI Testing Automation
UI Testing AutomationUI Testing Automation
UI Testing Automation
 
Node.js Development Workflow Automation with Grunt.js
Node.js Development Workflow Automation with Grunt.jsNode.js Development Workflow Automation with Grunt.js
Node.js Development Workflow Automation with Grunt.js
 
Qtp basics
Qtp basicsQtp basics
Qtp basics
 
Qtp complete guide for all
Qtp complete guide for allQtp complete guide for all
Qtp complete guide for all
 
How to Contribute to Apache Usergrid
How to Contribute to Apache UsergridHow to Contribute to Apache Usergrid
How to Contribute to Apache Usergrid
 
Web a Quebec - JS Debugging
Web a Quebec - JS DebuggingWeb a Quebec - JS Debugging
Web a Quebec - JS Debugging
 
VorlonJS
VorlonJSVorlonJS
VorlonJS
 
Azure Functions Real World Examples
Azure Functions Real World Examples Azure Functions Real World Examples
Azure Functions Real World Examples
 
Automated UI Testing
Automated UI TestingAutomated UI Testing
Automated UI Testing
 
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
Testing Rapidly Changing Applications With Self-Testing Object-Oriented Selen...
 
1,2,3 … Testing : Is this thing on(line)? with Mike Martin
1,2,3 … Testing : Is this thing on(line)? with Mike Martin1,2,3 … Testing : Is this thing on(line)? with Mike Martin
1,2,3 … Testing : Is this thing on(line)? with Mike Martin
 
Spring insight what just happened
Spring insight   what just happenedSpring insight   what just happened
Spring insight what just happened
 
Build your own analytics power tools
Build your own analytics power toolsBuild your own analytics power tools
Build your own analytics power tools
 
Real-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTCReal-Time Communication Testing Evolution with WebRTC
Real-Time Communication Testing Evolution with WebRTC
 
How to use selenium successfully
How to use selenium successfullyHow to use selenium successfully
How to use selenium successfully
 
The Many Ways to Test Your React App
The Many Ways to Test Your React AppThe Many Ways to Test Your React App
The Many Ways to Test Your React App
 
Open Policy Agent for governance as a code
Open Policy Agent for governance as a code Open Policy Agent for governance as a code
Open Policy Agent for governance as a code
 
Testing Ext JS and Sencha Touch
Testing Ext JS and Sencha TouchTesting Ext JS and Sencha Touch
Testing Ext JS and Sencha Touch
 
Badneedles
BadneedlesBadneedles
Badneedles
 

More from Anand Bagmar

Eradicate Flaky Tests
Eradicate Flaky TestsEradicate Flaky Tests
Eradicate Flaky TestsAnand Bagmar
 
Automating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devicesAutomating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devicesAnand Bagmar
 
Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022Anand Bagmar
 
Design Patterns in Automation
Design Patterns in AutomationDesign Patterns in Automation
Design Patterns in AutomationAnand Bagmar
 
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective KeynoteChange Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective KeynoteAnand Bagmar
 
Next Generation Functional & Visual Testing powered by AI
Next Generation Functional & Visual Testing powered by AINext Generation Functional & Visual Testing powered by AI
Next Generation Functional & Visual Testing powered by AIAnand Bagmar
 
The Best Test Automation Framework is...
The Best Test Automation Framework is...The Best Test Automation Framework is...
The Best Test Automation Framework is...Anand Bagmar
 
Eradicate Flaky Tests - AppiumConf 2021
Eradicate Flaky Tests - AppiumConf 2021Eradicate Flaky Tests - AppiumConf 2021
Eradicate Flaky Tests - AppiumConf 2021Anand Bagmar
 
Getting started with Appium 2.0
Getting started with Appium 2.0Getting started with Appium 2.0
Getting started with Appium 2.0Anand Bagmar
 
Selenium Deep Dive
Selenium Deep DiveSelenium Deep Dive
Selenium Deep DiveAnand Bagmar
 
Does your functional automation really add value?
Does your functional automation really add value?Does your functional automation really add value?
Does your functional automation really add value?Anand Bagmar
 
Measuring Coverage From E2E Tests
Measuring Coverage From E2E TestsMeasuring Coverage From E2E Tests
Measuring Coverage From E2E TestsAnand Bagmar
 
Visual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA SymposiumVisual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA SymposiumAnand Bagmar
 
Collaboration - A Taboo!
Collaboration - A Taboo!Collaboration - A Taboo!
Collaboration - A Taboo!Anand Bagmar
 
Visual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation PyramidVisual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation PyramidAnand Bagmar
 
Measuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback LoopMeasuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback LoopAnand Bagmar
 
What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?Anand Bagmar
 
The What, Why and How of Analytics Testing
The What, Why and How of Analytics TestingThe What, Why and How of Analytics Testing
The What, Why and How of Analytics TestingAnand Bagmar
 
Patterns of a “good” test automation framework
Patterns of a “good” test automation frameworkPatterns of a “good” test automation framework
Patterns of a “good” test automation frameworkAnand Bagmar
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance TestingAnand Bagmar
 

More from Anand Bagmar (20)

Eradicate Flaky Tests
Eradicate Flaky TestsEradicate Flaky Tests
Eradicate Flaky Tests
 
Automating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devicesAutomating the real-user scenarios across multi-apps, and multi-devices
Automating the real-user scenarios across multi-apps, and multi-devices
 
Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022Visual Validation - The missing tip of the automation pyramid @GoT2022
Visual Validation - The missing tip of the automation pyramid @GoT2022
 
Design Patterns in Automation
Design Patterns in AutomationDesign Patterns in Automation
Design Patterns in Automation
 
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective KeynoteChange Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
Change Tyres In A Moving Car - Make Functional Test Automation Effective Keynote
 
Next Generation Functional & Visual Testing powered by AI
Next Generation Functional & Visual Testing powered by AINext Generation Functional & Visual Testing powered by AI
Next Generation Functional & Visual Testing powered by AI
 
The Best Test Automation Framework is...
The Best Test Automation Framework is...The Best Test Automation Framework is...
The Best Test Automation Framework is...
 
Eradicate Flaky Tests - AppiumConf 2021
Eradicate Flaky Tests - AppiumConf 2021Eradicate Flaky Tests - AppiumConf 2021
Eradicate Flaky Tests - AppiumConf 2021
 
Getting started with Appium 2.0
Getting started with Appium 2.0Getting started with Appium 2.0
Getting started with Appium 2.0
 
Selenium Deep Dive
Selenium Deep DiveSelenium Deep Dive
Selenium Deep Dive
 
Does your functional automation really add value?
Does your functional automation really add value?Does your functional automation really add value?
Does your functional automation really add value?
 
Measuring Coverage From E2E Tests
Measuring Coverage From E2E TestsMeasuring Coverage From E2E Tests
Measuring Coverage From E2E Tests
 
Visual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA SymposiumVisual validation - The missing tip of the automation pyramid @ QA Symposium
Visual validation - The missing tip of the automation pyramid @ QA Symposium
 
Collaboration - A Taboo!
Collaboration - A Taboo!Collaboration - A Taboo!
Collaboration - A Taboo!
 
Visual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation PyramidVisual Validation - The Missing Tip of the Automation Pyramid
Visual Validation - The Missing Tip of the Automation Pyramid
 
Measuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback LoopMeasuring Consumer Quality - The Missing Feedback Loop
Measuring Consumer Quality - The Missing Feedback Loop
 
What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?What is Agile Testing? How does Automation help?
What is Agile Testing? How does Automation help?
 
The What, Why and How of Analytics Testing
The What, Why and How of Analytics TestingThe What, Why and How of Analytics Testing
The What, Why and How of Analytics Testing
 
Patterns of a “good” test automation framework
Patterns of a “good” test automation frameworkPatterns of a “good” test automation framework
Patterns of a “good” test automation framework
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing
 

Recently uploaded

GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Patryk Bandurski
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024BookNet Canada
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitecturePixlogix Infotech
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksSoftradix Technologies
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...HostedbyConfluent
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machinePadma Pradeep
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesSinan KOZAK
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxOnBoard
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhisoniya singh
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsHyundai Motor Group
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphNeo4j
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking MenDelhi Call girls
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 

Recently uploaded (20)

E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
Integration and Automation in Practice: CI/CD in Mule Integration and Automat...
 
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
#StandardsGoals for 2024: What’s new for BISAC - Tech Forum 2024
 
Understanding the Laravel MVC Architecture
Understanding the Laravel MVC ArchitectureUnderstanding the Laravel MVC Architecture
Understanding the Laravel MVC Architecture
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)
 
Pigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food ManufacturingPigging Solutions in Pet Food Manufacturing
Pigging Solutions in Pet Food Manufacturing
 
Benefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other FrameworksBenefits Of Flutter Compared To Other Frameworks
Benefits Of Flutter Compared To Other Frameworks
 
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
Transforming Data Streams with Kafka Connect: An Introduction to Single Messa...
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Install Stable Diffusion in windows machine
Install Stable Diffusion in windows machineInstall Stable Diffusion in windows machine
Install Stable Diffusion in windows machine
 
Unblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen FramesUnblocking The Main Thread Solving ANRs and Frozen Frames
Unblocking The Main Thread Solving ANRs and Frozen Frames
 
Maximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptxMaximizing Board Effectiveness 2024 Webinar.pptx
Maximizing Board Effectiveness 2024 Webinar.pptx
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | DelhiFULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
FULL ENJOY 🔝 8264348440 🔝 Call Girls in Diplomatic Enclave | Delhi
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter RoadsSnow Chain-Integrated Tire for a Safe Drive on Winter Roads
Snow Chain-Integrated Tire for a Safe Drive on Winter Roads
 
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge GraphSIEMENS: RAPUNZEL – A Tale About Knowledge Graph
SIEMENS: RAPUNZEL – A Tale About Knowledge Graph
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 

The what, why and how of web analytics testing

  • 1. The  What,  Why  &  How   of     Web  Analy3cs  Tes3ng   Anand  Bagmar   So#ware  Quality  Evangelist   Principal  Consultant,  ThoughtWorks  
  • 2. Why  do  we  do  Tes3ng?  
  • 3. What  is  Web  Analy3cs?  
  • 4. Why  do  we  need  it?  
  • 5. Adobe  Marke*ng   Cloud  /  Omniture   SiteCatalyst   …   WebTrends   Web  Analy*cs   Solu*on   Providers   StatCounter   AWStats   Google  Analy*cs  
  • 6. How  to  test  Web  Analy3cs?  
  • 8.
  • 9.
  • 10. Tes3ng  at  the  report  level   Pros   •  Ensure  report  is  setup  correctly     Cons   •  Licensing   •  Reports  not  yet  setup   •  Validate  all  requests  are  sent  /  captured  
  • 12.
  • 13.
  • 18.
  • 20. What  does  WAAT  do  for  me?   •  Minimal  changes  to  exisFng  test  framework     •  Does  not  depend  on  junit  /  testng  /  …   •  Web  AnalyFc  tool  independent   •  UI  Driver  framework  independent   •  Browser  independent  
  • 23. WAAT  -­‐  Java   •  Original  flavor   •  Source  code  +  jar     •  Supports  3  plugins     •  Omniture  Debugger   •  HUpSniffer   •  JsSniffer   •  Available  on  github  
  • 24. WAAT  -­‐  Ruby   •  Ruby  gem  implemented  over  WAAT-­‐Java   •  Uses  RJB  –  Ruby-­‐Java-­‐Bridge   •  Supports  2  plugins   •  HUpSniffer   •  JsSniffer   •  Available  on  github  and  rubygems.org  
  • 26. Omniture  Debugger   How  does  it  work?     Pros   •  OS  independent   •  Run  using  the  regular  test-­‐user     Cons   •  Browser  dependent  –  need  to  implement   ScriptRunner  for  the  UI-­‐driver  in  use   •  Web-­‐AnalyFc  soluFon  dependent  –  Adobe  MarkeFng   Cloud  /  Omniture  SiteCatalyst    
  • 27. HHpSniffer   How  does  it  work?     Pros   •  Web-­‐analyFc  soluFon  independent   •  Browser  independent   •  UI-­‐driver  independent     Cons   rd •  3  party  libraries  are  OS  Dependent   •  HTTPs  not  supported  out-­‐of-­‐the-­‐box   •  Run  tests  as  ‘root’    
  • 28. JsSniffer   How  does  it  work?     Pros   •  Web-­‐analyFc  soluFon  independent   •  Browser  independent   •  HTTPs  supported  out-­‐of-­‐the-­‐box   rd •  No  dependency  on  any  3  party  library       Cons   •  Need  to  write  javascript  to  get  the  URL  from  the   browser   •  UI-­‐driver  dependent  
  • 29. How  to  use  WAAT?   •  Download  zip  from  github  /  rubygems.org   •  Setup   •  jpcap  /  ScriptRunner  setup     •  Update  exis*ng  tests  
  • 30. Update  exis3ng  Tests   •  Import  relevant  packages  /  gems   •  Define  &  provide  parameter  values   •  Ini*alize  Engine   •  Enable  Web  Analy*cs  Tes*ng   •  Define  Test  Data   •  Verify  Web  Analy*cs  repor*ng  using  WAAT   •  Valida*ons   •  Disable  Web  Analy*cs  Tes*ng  
  • 31. Define  Test  Data   <Section !! !actionName="OpenUpcomingPage_HttpSniffer"! !numberOfEventsTriggered="1"! !tagList="pageName=upcoming:index||! ! ! !cc=USD||! ! ! !ch=upcoming||! ! ! !events=event2||"/>!
  • 32. Ini3alize  Engine   !engine = getInstance(! ! ! !webAnalyticTool, ! ! ! !inputFileType, ! ! ! !keepLoadedFileInMemory, !! ! ! !log4jPropertiesAbsoluteFilePath! ! ! !);!
  • 33. Enable  Web  Analy3cs  Tes3ng   engine.enableWebAnalyticsTesting();!
  • 34. Verify  Web  Analy3cs  Repor3ng   Cart.checkout();! !Result verificationResult = !! ! !engine.verifyWebAnalyticsData (! ! ! !inputDataFileName, ! ! ! !actionName, ! ! ! !urlPatterns, ! ! ! !minimumNumberOfPackets);!
  • 35. Sample  Valida3ons   assertNotNull(verificationResult.getVerificationStatus(), "Verification status should NOT be NULL"); ! ! assertNotNull(verificationResult.getListOfErrors(), "Failure details should NOT be NULL"); logVerificationErrors(verificationResult); ! ! assertEquals(verificationResult.getVerificationStatus(), Status.PASS, "Verification status should be PASS"); ! ! assertEquals(verificationResult.getListOfErrors().size(), 0, "Failure details should be empty");!
  • 36. Disable  Web  Analy3cs  Tes3ng   engine.disableWebAnalyticsTesting();!
  • 37. Anand.Bagmar@thoughtworks.com                        Abagmar@gmail.com        @BagmarAnand   hUp://essenceo#esFng.blogspot.com/search/label/waat   hUps://github.com/anandbagmar/   hUp://rubygems.org/gems/WAAT