SlideShare a Scribd company logo
1 of 15
Download to read offline
Performance	
  Tes-ng	
  with	
  Real	
  Browsers	
  
Harnessing	
  the	
  power	
  of	
  JMeter	
  &	
  Selenium	
  Webdriver	
  
785 Castro Street, Mountain View, CA 94041 | 1.855.445.2285 | info@blazemeter.com
BlazeMeter
OPHIR	
  PRUSAK	
  
Chief	
  Evangelist	
  -­‐	
  BlazeMeter	
  
AGENDA	
  
•  JMeter	
  vs	
  Real	
  Browsers	
  
•  Installing	
  the	
  JMeter	
  Webdriver	
  Plugin	
  
•  CreaCng	
  Basic	
  Scripts	
  
•  MulC	
  Step	
  Scripts	
  
•  Adding	
  CSV	
  files	
  
•  GeneraCng	
  Load	
  in	
  the	
  Cloud	
  with	
  BlazeMeter	
  
•  Q&A	
  
About	
  BlazeMeter	
  
API	
  |	
  Mobile	
  |	
  Web	
  |	
  CI	
  |	
  Load	
  &	
  Performance	
  TesCng	
  |	
  Cloud	
  &	
  Behind	
  the	
  Firewall	
  
Open	
  Source	
  
Compa-ble	
  	
  
(JMeter	
  &	
  Webdriver)	
  
100%	
  Backend	
  
Applica-on	
  Tes-ng	
  
(Performance	
  &	
  API)	
  
Self	
  Served	
  
Pure	
  SAAS	
  
Cloud	
  
Tap	
  Into	
  the	
  Largest	
  	
  
Developers	
  Community	
  in	
  the	
  
World	
  (Open	
  Source)	
  
JMeter	
  vs	
  Real	
  Browsers	
  
Real	
  Browsers	
  
•  AcCvity	
  defined	
  in	
  terms	
  of	
  user	
  acCons	
  
–  Enter	
  URL	
  in	
  the	
  address	
  bar	
  
–  Click	
  on	
  an	
  element	
  
–  Enter	
  keystrokes	
  
•  Browser	
  executes	
  addiConal	
  acCons	
  
–  Parse	
  HTML	
  
–  Executes	
  JavaScript	
  
–  Understands	
  Form	
  Logic	
  
JMeter	
  vs	
  Real	
  Browsers	
  
JMeter	
  
•  AcCvity	
  defined	
  in	
  terms	
  of	
  HTTP	
  acCons	
  
–  HTTP	
  GET,	
  HTTP	
  POST,	
  etc	
  
–  Supports	
  Cookies	
  and	
  Caching	
  
–  User	
  Variables,	
  Response	
  Data	
  ExtracCon	
  and	
  Flow	
  Logic	
  
•  JMeter	
  does	
  not	
  execute	
  most	
  client	
  side	
  logic	
  
–  Parse	
  HTML	
  
–  Executes	
  JavaScript	
  
–  Understands	
  Form	
  Logic	
  
Resource	
  Requirements	
  
JMeter	
  vs	
  Real	
  Browsers	
  
JMeter	
   Real	
  Browsers	
  
300	
  to	
  2000	
  virtual	
  users	
  per	
  server	
   1	
  to	
  3	
  virtual	
  users	
  per	
  CPU	
  core	
  
8	
  GB,	
  4	
  core	
  machine	
  	
  =	
  1,000	
  users	
   8	
  GB,	
  4	
  core	
  machine	
  =	
  4-­‐12	
  users	
  
Installing	
  JMeter	
  Webdriver	
  Plugin	
  
•  Download	
  Zip	
  from	
  jmeter-­‐plugins.org	
  
•  Copy	
  jar	
  files	
  into	
  lib	
  and	
  lib/ext	
  directories	
  
•  Delete	
  older	
  /	
  duplicate	
  HTTP	
  jars	
  
Simple	
  Scrip-ng	
  
•  Add	
  Thread	
  Group	
  (1	
  user)	
  
•  Add	
  FireFox	
  Driver	
  Config	
  (easiest	
  to	
  get	
  working)	
  
–  FireFox	
  26.0	
  works.	
  Later	
  versions	
  not	
  guaranteed.	
  
•  Add	
  Sampler	
  /	
  Webdriver	
  Sampler	
  
•  Enter	
  Webdriver	
  Code	
  
•  Add	
  Listeners	
  for	
  Debugging	
  
•  Run	
  Test	
  
	
  	
  
Simple	
  Scrip-ng	
  
•  WDS.sampleResult.sampleStart()	
  
•  Do	
  some	
  stuff	
  	
  
•  WDS.sampleResult.sampleEnd()	
  
•  Tutorials	
  
•  hcp://jmeter-­‐plugins.org/wiki/WebDriverTutorial/	
  
•  hcp://jmeter-­‐plugins.org/wiki/WebDriverSampler/	
  
•  hcp://blazemeter.com/blog/webdriver-­‐sampler-­‐your-­‐top-­‐10-­‐quesCons-­‐answered	
  
Mul-	
  Step	
  Scrip-ng	
  
•  Add	
  More	
  Webdriver	
  Samplers	
  
•  Each	
  Sampler	
  ConCnues	
  Same	
  Session	
  
•  Each	
  Thread	
  IteraCon	
  is	
  a	
  New	
  Session	
  
CSV	
  Files	
  
•  Use	
  Standard	
  CSV	
  Data	
  Set	
  Config	
  Element	
  
•  Variables	
  are	
  referenced	
  as	
  ${varname}	
  
–  For	
  example	
  
–  WDS.browser.findElement(pkg.By.id('zipCode')).sendKeys(['${zip}'])
Genera-ng	
  Load	
  with	
  BlazeMeter	
  
1.  Create	
  script	
  and	
  debug	
  locally	
  
2.  Upload	
  to	
  BlazeMeter	
  and	
  set	
  load	
  parameters	
  
1.  Currently	
  running	
  Webdriver	
  1.1.2	
  
2.  Firefox	
  browsers	
  for	
  webdriver	
  tests	
  
3.  Phantom.js	
  and	
  Chrome	
  support	
  coming	
  soon	
  
3.  Run	
  test	
  
4.  For	
  errors,	
  check	
  log	
  files	
  
Genera-ng	
  Load	
  with	
  BlazeMeter	
  
•  Free	
  Users	
  –	
  one	
  machine	
  with	
  up	
  to	
  5	
  browsers	
  
•  Paid	
  Accounts	
  –	
  up	
  to	
  20	
  browsers	
  per	
  server	
  
•  Enterprise	
  Accounts	
  –	
  up	
  to	
  1,000	
  servers	
  /	
  per	
  test	
  
DEMO	
  
THANK	
  YOU	
  FOR	
  YOUR	
  TIME!	
  	
  
Q	
  &	
  A	
  
For more information:
BlazeMeter.com/blog	
   info@blazemeter.com	
   @BlazeMeter	
  

More Related Content

What's hot

Best practices for Terraform with Vault
Best practices for Terraform with VaultBest practices for Terraform with Vault
Best practices for Terraform with VaultMitchell Pronschinske
 
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...Edureka!
 
Understanding the Android System Server
Understanding the Android System ServerUnderstanding the Android System Server
Understanding the Android System ServerOpersys inc.
 
Android app development
Android app developmentAndroid app development
Android app developmentTanmoy Roy
 
Mobile App Testing Checklist
Mobile App Testing ChecklistMobile App Testing Checklist
Mobile App Testing ChecklistManoj Lonar
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessNanik Tolaram
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with PieOpersys inc.
 
Android Operating System
Android Operating SystemAndroid Operating System
Android Operating SystemBilal Mirza
 
Terraform modules and (some of) best practices
Terraform modules and (some of) best practicesTerraform modules and (some of) best practices
Terraform modules and (some of) best practicesAnton Babenko
 
Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersBoom Shukla
 
An Introduction To Jenkins
An Introduction To JenkinsAn Introduction To Jenkins
An Introduction To JenkinsKnoldus Inc.
 
Android auto
Android autoAndroid auto
Android autodhiraj007
 
Android Development: The Basics
Android Development: The BasicsAndroid Development: The Basics
Android Development: The BasicsMike Desjardins
 

What's hot (20)

Best practices for Terraform with Vault
Best practices for Terraform with VaultBest practices for Terraform with Vault
Best practices for Terraform with Vault
 
Native vs. Hybrid Apps
Native vs. Hybrid AppsNative vs. Hybrid Apps
Native vs. Hybrid Apps
 
Mobile operating system
Mobile operating systemMobile operating system
Mobile operating system
 
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
Jenkins Pipeline Tutorial | Continuous Delivery Pipeline Using Jenkins | DevO...
 
Understanding the Android System Server
Understanding the Android System ServerUnderstanding the Android System Server
Understanding the Android System Server
 
Android app development
Android app developmentAndroid app development
Android app development
 
Versions of android
Versions of androidVersions of android
Versions of android
 
Mobile App Testing Checklist
Mobile App Testing ChecklistMobile App Testing Checklist
Mobile App Testing Checklist
 
Learning AOSP - Android Booting Process
Learning AOSP - Android Booting ProcessLearning AOSP - Android Booting Process
Learning AOSP - Android Booting Process
 
Embedded Android Workshop with Pie
Embedded Android Workshop with PieEmbedded Android Workshop with Pie
Embedded Android Workshop with Pie
 
Android Operating System
Android Operating SystemAndroid Operating System
Android Operating System
 
Terraform modules and (some of) best practices
Terraform modules and (some of) best practicesTerraform modules and (some of) best practices
Terraform modules and (some of) best practices
 
Introduction to DevOps
Introduction to DevOpsIntroduction to DevOps
Introduction to DevOps
 
Android Audio System
Android Audio SystemAndroid Audio System
Android Audio System
 
Android fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginnersAndroid fundamentals and tutorial for beginners
Android fundamentals and tutorial for beginners
 
An Introduction To Jenkins
An Introduction To JenkinsAn Introduction To Jenkins
An Introduction To Jenkins
 
Android ppt
Android pptAndroid ppt
Android ppt
 
Flutter
FlutterFlutter
Flutter
 
Android auto
Android autoAndroid auto
Android auto
 
Android Development: The Basics
Android Development: The BasicsAndroid Development: The Basics
Android Development: The Basics
 

Similar to Performance Testing using Real Browsers with JMeter & Webdriver

Provar webinar 15-03-2018
Provar webinar 15-03-2018Provar webinar 15-03-2018
Provar webinar 15-03-2018Geraint Waters
 
Windows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementWindows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementSharkrit JOBBO
 
Managing Millions of Tests Using Databricks
Managing Millions of Tests Using DatabricksManaging Millions of Tests Using Databricks
Managing Millions of Tests Using DatabricksDatabricks
 
PAC 2019 virtual Philip Webb
PAC 2019 virtual Philip Webb PAC 2019 virtual Philip Webb
PAC 2019 virtual Philip Webb Neotys
 
Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Ryan Cuprak
 
Microservice Automated Testing on Kubernetes
Microservice Automated Testing on KubernetesMicroservice Automated Testing on Kubernetes
Microservice Automated Testing on KubernetesShane Galvin
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesAmazon Web Services
 
Dropwizard and Groovy
Dropwizard and GroovyDropwizard and Groovy
Dropwizard and Groovytomaslin
 
Testing - How Vital and How Easy to use
Testing - How Vital and How Easy to useTesting - How Vital and How Easy to use
Testing - How Vital and How Easy to useUma Ghotikar
 
Session 3 - CloudStack Test Automation and CI
Session 3 - CloudStack Test Automation and CISession 3 - CloudStack Test Automation and CI
Session 3 - CloudStack Test Automation and CItcloudcomputing-tw
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsPablo Godel
 
Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Testplant
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeterBhojan Rajan
 
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...VMworld
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environmentMatanGoren
 
Continuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CIContinuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CIwajrcs
 
Getting Started with MariaDB with Docker
Getting Started with MariaDB with DockerGetting Started with MariaDB with Docker
Getting Started with MariaDB with DockerMariaDB plc
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using JenkinsRogue Wave Software
 
Continuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyContinuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyRightScale
 

Similar to Performance Testing using Real Browsers with JMeter & Webdriver (20)

Provar webinar 15-03-2018
Provar webinar 15-03-2018Provar webinar 15-03-2018
Provar webinar 15-03-2018
 
Windows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server ManagementWindows 2012 R2 Multi Server Management
Windows 2012 R2 Multi Server Management
 
Managing Millions of Tests Using Databricks
Managing Millions of Tests Using DatabricksManaging Millions of Tests Using Databricks
Managing Millions of Tests Using Databricks
 
PAC 2019 virtual Philip Webb
PAC 2019 virtual Philip Webb PAC 2019 virtual Philip Webb
PAC 2019 virtual Philip Webb
 
Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]Java script nirvana in netbeans [con5679]
Java script nirvana in netbeans [con5679]
 
Microservice Automated Testing on Kubernetes
Microservice Automated Testing on KubernetesMicroservice Automated Testing on Kubernetes
Microservice Automated Testing on Kubernetes
 
Getting Started with Serverless Architectures
Getting Started with Serverless ArchitecturesGetting Started with Serverless Architectures
Getting Started with Serverless Architectures
 
Dropwizard and Groovy
Dropwizard and GroovyDropwizard and Groovy
Dropwizard and Groovy
 
Testing - How Vital and How Easy to use
Testing - How Vital and How Easy to useTesting - How Vital and How Easy to use
Testing - How Vital and How Easy to use
 
Session 3 - CloudStack Test Automation and CI
Session 3 - CloudStack Test Automation and CISession 3 - CloudStack Test Automation and CI
Session 3 - CloudStack Test Automation and CI
 
Rock Solid Deployment of Web Applications
Rock Solid Deployment of Web ApplicationsRock Solid Deployment of Web Applications
Rock Solid Deployment of Web Applications
 
Tools. Techniques. Trouble?
Tools. Techniques. Trouble?Tools. Techniques. Trouble?
Tools. Techniques. Trouble?
 
Performance testing jmeter
Performance testing jmeterPerformance testing jmeter
Performance testing jmeter
 
Selenium practical
Selenium practicalSelenium practical
Selenium practical
 
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
VMworld Europe 2014: Taking Reporting and Command Line Automation to the Next...
 
MyHeritage - QA Automations in a Continuous Deployment environment
MyHeritage -  QA Automations in a Continuous Deployment environmentMyHeritage -  QA Automations in a Continuous Deployment environment
MyHeritage - QA Automations in a Continuous Deployment environment
 
Continuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CIContinuous Delivery - Automate & Build Better Software with Travis CI
Continuous Delivery - Automate & Build Better Software with Travis CI
 
Getting Started with MariaDB with Docker
Getting Started with MariaDB with DockerGetting Started with MariaDB with Docker
Getting Started with MariaDB with Docker
 
Test parallelization using Jenkins
Test parallelization using JenkinsTest parallelization using Jenkins
Test parallelization using Jenkins
 
Continuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases WeeklyContinuous Delivery: How RightScale Releases Weekly
Continuous Delivery: How RightScale Releases Weekly
 

More from BlazeMeter

Using JMeter for Performance Testing Live Streaming Applications
Using JMeter for Performance Testing Live Streaming ApplicationsUsing JMeter for Performance Testing Live Streaming Applications
Using JMeter for Performance Testing Live Streaming ApplicationsBlazeMeter
 
Continuous Testing in the Agile Age
Continuous Testing in the Agile AgeContinuous Testing in the Agile Age
Continuous Testing in the Agile AgeBlazeMeter
 
Testing Soap/Rest Web Services with JMeter
Testing Soap/Rest Web Services with JMeterTesting Soap/Rest Web Services with JMeter
Testing Soap/Rest Web Services with JMeterBlazeMeter
 
How to Cover All Your Backend Testing Needs with API and UI Tests
How to Cover All Your Backend Testing Needs with API and UI TestsHow to Cover All Your Backend Testing Needs with API and UI Tests
How to Cover All Your Backend Testing Needs with API and UI TestsBlazeMeter
 
BlazeMeter- Effective Performance Reporting
BlazeMeter- Effective Performance ReportingBlazeMeter- Effective Performance Reporting
BlazeMeter- Effective Performance ReportingBlazeMeter
 
BlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal MeetupBlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal MeetupBlazeMeter
 

More from BlazeMeter (6)

Using JMeter for Performance Testing Live Streaming Applications
Using JMeter for Performance Testing Live Streaming ApplicationsUsing JMeter for Performance Testing Live Streaming Applications
Using JMeter for Performance Testing Live Streaming Applications
 
Continuous Testing in the Agile Age
Continuous Testing in the Agile AgeContinuous Testing in the Agile Age
Continuous Testing in the Agile Age
 
Testing Soap/Rest Web Services with JMeter
Testing Soap/Rest Web Services with JMeterTesting Soap/Rest Web Services with JMeter
Testing Soap/Rest Web Services with JMeter
 
How to Cover All Your Backend Testing Needs with API and UI Tests
How to Cover All Your Backend Testing Needs with API and UI TestsHow to Cover All Your Backend Testing Needs with API and UI Tests
How to Cover All Your Backend Testing Needs with API and UI Tests
 
BlazeMeter- Effective Performance Reporting
BlazeMeter- Effective Performance ReportingBlazeMeter- Effective Performance Reporting
BlazeMeter- Effective Performance Reporting
 
BlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal MeetupBlazeMeter Presents at the High Performance Drupal Meetup
BlazeMeter Presents at the High Performance Drupal Meetup
 

Recently uploaded

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsMemoori
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
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
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesZilliz
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationRidwan Fadjar
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024BookNet Canada
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsMark Billinghurst
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024The Digital Insurer
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfRankYa
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
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
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 

Recently uploaded (20)

AI as an Interface for Commercial Buildings
AI as an Interface for Commercial BuildingsAI as an Interface for Commercial Buildings
AI as an Interface for Commercial Buildings
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
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...
 
Vector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector DatabasesVector Databases 101 - An introduction to the world of Vector Databases
Vector Databases 101 - An introduction to the world of Vector Databases
 
My Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 PresentationMy Hashitalk Indonesia April 2024 Presentation
My Hashitalk Indonesia April 2024 Presentation
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: BNC CataList - Tech Forum 2024
 
Human Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR SystemsHuman Factors of XR: Using Human Factors to Design XR Systems
Human Factors of XR: Using Human Factors to Design XR Systems
 
My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024My INSURER PTE LTD - Insurtech Innovation Award 2024
My INSURER PTE LTD - Insurtech Innovation Award 2024
 
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Search Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdfSearch Engine Optimization SEO PDF for 2024.pdf
Search Engine Optimization SEO PDF for 2024.pdf
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
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
 
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
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 

Performance Testing using Real Browsers with JMeter & Webdriver

  • 1. Performance  Tes-ng  with  Real  Browsers   Harnessing  the  power  of  JMeter  &  Selenium  Webdriver   785 Castro Street, Mountain View, CA 94041 | 1.855.445.2285 | info@blazemeter.com BlazeMeter OPHIR  PRUSAK   Chief  Evangelist  -­‐  BlazeMeter  
  • 2. AGENDA   •  JMeter  vs  Real  Browsers   •  Installing  the  JMeter  Webdriver  Plugin   •  CreaCng  Basic  Scripts   •  MulC  Step  Scripts   •  Adding  CSV  files   •  GeneraCng  Load  in  the  Cloud  with  BlazeMeter   •  Q&A  
  • 3. About  BlazeMeter   API  |  Mobile  |  Web  |  CI  |  Load  &  Performance  TesCng  |  Cloud  &  Behind  the  Firewall   Open  Source   Compa-ble     (JMeter  &  Webdriver)   100%  Backend   Applica-on  Tes-ng   (Performance  &  API)   Self  Served   Pure  SAAS   Cloud   Tap  Into  the  Largest     Developers  Community  in  the   World  (Open  Source)  
  • 4. JMeter  vs  Real  Browsers   Real  Browsers   •  AcCvity  defined  in  terms  of  user  acCons   –  Enter  URL  in  the  address  bar   –  Click  on  an  element   –  Enter  keystrokes   •  Browser  executes  addiConal  acCons   –  Parse  HTML   –  Executes  JavaScript   –  Understands  Form  Logic  
  • 5. JMeter  vs  Real  Browsers   JMeter   •  AcCvity  defined  in  terms  of  HTTP  acCons   –  HTTP  GET,  HTTP  POST,  etc   –  Supports  Cookies  and  Caching   –  User  Variables,  Response  Data  ExtracCon  and  Flow  Logic   •  JMeter  does  not  execute  most  client  side  logic   –  Parse  HTML   –  Executes  JavaScript   –  Understands  Form  Logic  
  • 6. Resource  Requirements   JMeter  vs  Real  Browsers   JMeter   Real  Browsers   300  to  2000  virtual  users  per  server   1  to  3  virtual  users  per  CPU  core   8  GB,  4  core  machine    =  1,000  users   8  GB,  4  core  machine  =  4-­‐12  users  
  • 7. Installing  JMeter  Webdriver  Plugin   •  Download  Zip  from  jmeter-­‐plugins.org   •  Copy  jar  files  into  lib  and  lib/ext  directories   •  Delete  older  /  duplicate  HTTP  jars  
  • 8. Simple  Scrip-ng   •  Add  Thread  Group  (1  user)   •  Add  FireFox  Driver  Config  (easiest  to  get  working)   –  FireFox  26.0  works.  Later  versions  not  guaranteed.   •  Add  Sampler  /  Webdriver  Sampler   •  Enter  Webdriver  Code   •  Add  Listeners  for  Debugging   •  Run  Test      
  • 9. Simple  Scrip-ng   •  WDS.sampleResult.sampleStart()   •  Do  some  stuff     •  WDS.sampleResult.sampleEnd()   •  Tutorials   •  hcp://jmeter-­‐plugins.org/wiki/WebDriverTutorial/   •  hcp://jmeter-­‐plugins.org/wiki/WebDriverSampler/   •  hcp://blazemeter.com/blog/webdriver-­‐sampler-­‐your-­‐top-­‐10-­‐quesCons-­‐answered  
  • 10. Mul-  Step  Scrip-ng   •  Add  More  Webdriver  Samplers   •  Each  Sampler  ConCnues  Same  Session   •  Each  Thread  IteraCon  is  a  New  Session  
  • 11. CSV  Files   •  Use  Standard  CSV  Data  Set  Config  Element   •  Variables  are  referenced  as  ${varname}   –  For  example   –  WDS.browser.findElement(pkg.By.id('zipCode')).sendKeys(['${zip}'])
  • 12. Genera-ng  Load  with  BlazeMeter   1.  Create  script  and  debug  locally   2.  Upload  to  BlazeMeter  and  set  load  parameters   1.  Currently  running  Webdriver  1.1.2   2.  Firefox  browsers  for  webdriver  tests   3.  Phantom.js  and  Chrome  support  coming  soon   3.  Run  test   4.  For  errors,  check  log  files  
  • 13. Genera-ng  Load  with  BlazeMeter   •  Free  Users  –  one  machine  with  up  to  5  browsers   •  Paid  Accounts  –  up  to  20  browsers  per  server   •  Enterprise  Accounts  –  up  to  1,000  servers  /  per  test  
  • 15. THANK  YOU  FOR  YOUR  TIME!     Q  &  A   For more information: BlazeMeter.com/blog   info@blazemeter.com   @BlazeMeter