SlideShare a Scribd company logo
1 of 30
Test at Scale within your Internal Networks
with BrowserStack Local Testing
Praveen Umanath
Director Product Marketing,
BrowserStack
Sreyantha Chary
Product Manager,
BrowserStack
Agenda
SECTION
About BrowserStack
What is Local Testing?
Quick demo: Local Testing in action
Getting started with Local Testing
Advanced setups for complex networks
Our History
Sep
2011
Launch 1000
customers
App
Automate
Launch
3
offices
Feb
2012
Jan
2018
8
years
300+
employees
Real Android
Devices
Aug
2015
Real iOS
Devices
Dec
2015
App Live
Launch
Aug
2017
$50M Series A
from Accel
US-E
Mobile DC
Jul
2019
Our Platform of 2000+ browsers and devices has...
135+
Countries with
customers
2M+
Registered
Users
60M
tests/month
6
Globally
distributed
DCs
6 billion
Selenium
commands/month
10M
Hours of
testing/month
25,000+ Customers
Powering 1000s of Open Source Projects
browserstack.com/open-source
Our Products
What is Local
Testing?
What problem does Local Testing solve?
What is Local Testing?
● It is easy to perform “dev testing” on your local machine with the browsers you have
● To test applications on the cloud, teams usually deploy them to a publicly accessible
server
● With Local Testing, you don’t need to deploy your application to a publicly accessible
server to test it—as it establishes a secure connection between BrowserStack and your
network
Without Local
Testing
With Local Testing
Testing your locally-hosted apps
Local Testing: What can you test?
Locally hosted websites Staging environments
HTML / design files Internal pre-prod sites
Quick Demo
See Local Testing in action
Local Testing with Live
Local Testing with Automate
Getting started with Local Testing: Using the Binary
Enabling Local Testing with Automate is a simple two-step process:
1. Establishing a Local Testing connection.
a. Use language bindings
b. Use the CLI (shell scripts)
./BrowserStackLocal --key your_access_key
1. Configuring test scripts so they run through the Local Testing connection.
caps.setCapability("browserstack.local", "true");
Read more here: https://www.browserstack.com/local-testing/automate
Local Testing
for complex
networks
● Many networks are set up behind proxies
● Using Local Testing in this case is easy:
○ Pass the proxy options while creating the Local Testing connection
○ Run tests like you would normally do
● Local binary v7.6 and above automatically detect proxy settings on your machine and
setup the connection
What if my test environments are behind a proxy?
Using the binary when you’re behind a proxy
● Disable packet inspection for requests to and from *.browserstack.com, or else you’ll
face a Bad SSL certificate error
● We provide solutions to handle packet inspection and certificates for our Enterprise
users
What if my network inspects HTTPS packets?
● In big corporations and fintech companies, applications and test environments are set up
behind a firewall
● Enable egress (from your network to BrowserStack) traffic by whitelisting
*.browserstack.com for all HTTP, HTTPS, WS and WSS requests & responses
● Bypass packet inspection for requests from *.browserstack.com to avoid Bad SSL
certificate errors
What if my test setup is behind a firewall?
Using the binary when you’re behind a firewall
● Sometimes, your testing or compliance requirements mandate routing all the requests to
your network rather than just the private-host requests
● You can achieve this by using the --force-local flag while setting up Local Testing
connection with the binary
There are more options you can use to set up the connection. For example, --only flag
allows connections only for certain hosts and ports.
Read more about these options here: https://www.browserstack.com/local-testing/binary-
params
But, I want everything to be routed via my network!
Using the binary in special conditions
Testing at
scale with
Local Testing
● In reality, using Local can get complex quickly when multiple teams test multiple builds
at the same time
● Where possible, assign an identifier to each local connection you create with --local-
identifier flag and use it in your tests with browserstack.localIdentifier
capability
○ Also use --enable-logging-for-api flag so you can manage these connections
via Local Testing APIs
Managing multiple local connections
Using multiple binaries
Best practices
● Don’t use a single binary connection for all of your testing
○ Setup a new connection for every build
○ You can also create a new connection every test, but it increases your overall build
time
● Use local-identifier options where possible as it is much easier to debug should you have
issue while running your tests
● Always close your connection only after you are done with your testing; not doing so will
break any network requests that are in pending state
Local Testing for Enterprise
We also provide the following features for our Enterprise users:
● IP whitelisting: for websites that are behind IP restrictions but are otherwise public
● Central Local connection manager: when you don’t want your team members to spawn
individual Local connections.
a. Admin can spawn several local connections with different identifiers, and team
members can use those connections without creating new ones
b. You don’t need to specify the local identifiers either—an active connection for each
test will be picked randomly
Note: IP geolocation will not work when you use Local Testing.
Here’s what we covered
● What exactly Local Testing is
● Why is Local Testing useful
● How to use Local Testing
○ Extension for Live and binary / executable for Automate
● How to use Local Testing in different network setups
○ Use the relevant binary options
● Best Practices of Local Testing
○ Separate connection for each build
○ Use local-identifiers for easier debugging
● Enterprise features
○ IP whitelisting
○ Central Local connection manager (Closed Beta)
That’s all, folks!
Q&A

More Related Content

What's hot

모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)Jongwon Kim
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with AppiumManoj Kumar Kumar
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With AppiumKnoldus Inc.
 
Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile AppsSauce Labs
 
Mobile Test Automation - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - AppiumMaria Machlowska
 
Introduction to Automation Testing and Selenium overiew
Introduction to Automation Testing and Selenium overiewIntroduction to Automation Testing and Selenium overiew
Introduction to Automation Testing and Selenium overiewDisha Srivastava
 
Webinar: Selenium WebDriver - Automation Uncomplicated
Webinar: Selenium WebDriver - Automation UncomplicatedWebinar: Selenium WebDriver - Automation Uncomplicated
Webinar: Selenium WebDriver - Automation UncomplicatedEdureka!
 
2015-StarWest presentation on REST-assured
2015-StarWest presentation on REST-assured2015-StarWest presentation on REST-assured
2015-StarWest presentation on REST-assuredEing Ong
 
How to Automate API Testing
How to Automate API TestingHow to Automate API Testing
How to Automate API TestingBruno Pedro
 
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Edureka!
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and SeleniumKarapet Sarkisyan
 
Cross Browser Testing Using LambdaTest | Edureka
Cross Browser Testing Using LambdaTest | EdurekaCross Browser Testing Using LambdaTest | Edureka
Cross Browser Testing Using LambdaTest | EdurekaEdureka!
 
API Testing Using REST Assured with TestNG
API Testing Using REST Assured with TestNGAPI Testing Using REST Assured with TestNG
API Testing Using REST Assured with TestNGSiddharth Sharma
 

What's hot (20)

모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)모바일 게임 테스트 자동화 (Appium 확장)
모바일 게임 테스트 자동화 (Appium 확장)
 
Introducing AWS Device Farm
Introducing AWS Device FarmIntroducing AWS Device Farm
Introducing AWS Device Farm
 
Mobile Automation with Appium
Mobile Automation with AppiumMobile Automation with Appium
Mobile Automation with Appium
 
Automation Testing With Appium
Automation Testing With AppiumAutomation Testing With Appium
Automation Testing With Appium
 
Appium: Automation for Mobile Apps
Appium: Automation for Mobile AppsAppium: Automation for Mobile Apps
Appium: Automation for Mobile Apps
 
Rest assured
Rest assuredRest assured
Rest assured
 
Mobile Test Automation - Appium
Mobile Test Automation - AppiumMobile Test Automation - Appium
Mobile Test Automation - Appium
 
Introduction to Automation Testing and Selenium overiew
Introduction to Automation Testing and Selenium overiewIntroduction to Automation Testing and Selenium overiew
Introduction to Automation Testing and Selenium overiew
 
Webinar: Selenium WebDriver - Automation Uncomplicated
Webinar: Selenium WebDriver - Automation UncomplicatedWebinar: Selenium WebDriver - Automation Uncomplicated
Webinar: Selenium WebDriver - Automation Uncomplicated
 
Api testing
Api testingApi testing
Api testing
 
2015-StarWest presentation on REST-assured
2015-StarWest presentation on REST-assured2015-StarWest presentation on REST-assured
2015-StarWest presentation on REST-assured
 
How to Automate API Testing
How to Automate API TestingHow to Automate API Testing
How to Automate API Testing
 
API Testing for everyone.pptx
API Testing for everyone.pptxAPI Testing for everyone.pptx
API Testing for everyone.pptx
 
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
Selenium WebDriver Tutorial For Beginners | What Is Selenium WebDriver | Sele...
 
Test Automation and Selenium
Test Automation and SeleniumTest Automation and Selenium
Test Automation and Selenium
 
Postman
PostmanPostman
Postman
 
Automation Testing by Selenium Web Driver
Automation Testing by Selenium Web DriverAutomation Testing by Selenium Web Driver
Automation Testing by Selenium Web Driver
 
Cross Browser Testing Using LambdaTest | Edureka
Cross Browser Testing Using LambdaTest | EdurekaCross Browser Testing Using LambdaTest | Edureka
Cross Browser Testing Using LambdaTest | Edureka
 
API Testing Using REST Assured with TestNG
API Testing Using REST Assured with TestNGAPI Testing Using REST Assured with TestNG
API Testing Using REST Assured with TestNG
 
Selenium ppt
Selenium pptSelenium ppt
Selenium ppt
 

Similar to Test at Scale within your Internal Networks with BrowserStack Local Testing

Opticon18: Developer Night
Opticon18: Developer NightOpticon18: Developer Night
Opticon18: Developer NightOptimizely
 
Deep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenariosDeep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenariosSajith C P Nair
 
Advanced automated visual testing - DrupalCon seattle 2019
Advanced automated visual testing - DrupalCon seattle 2019Advanced automated visual testing - DrupalCon seattle 2019
Advanced automated visual testing - DrupalCon seattle 2019Shweta Sharma
 
Client-side Performance Testing
Client-side Performance TestingClient-side Performance Testing
Client-side Performance TestingThoughtworks
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance TestingAnand Bagmar
 
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB AtlasMongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB AtlasMongoDB
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices ArchitectureLucian Neghina
 
New Products Overview: Use Cases and Demos
New Products Overview: Use Cases and DemosNew Products Overview: Use Cases and Demos
New Products Overview: Use Cases and DemosCaitlin Magat
 
New Products Overview: Use Cases and Demos
New Products Overview: Use Cases and DemosNew Products Overview: Use Cases and Demos
New Products Overview: Use Cases and DemosCloudflare
 
Azure appservice
Azure appserviceAzure appservice
Azure appserviceRaju Kumar
 
Curiosity and Xray present - In sprint testing: Aligning tests and teams to r...
Curiosity and Xray present - In sprint testing: Aligning tests and teams to r...Curiosity and Xray present - In sprint testing: Aligning tests and teams to r...
Curiosity and Xray present - In sprint testing: Aligning tests and teams to r...Curiosity Software Ireland
 
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the CloudSauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the CloudSauce Labs
 
Top 5 automation testing tools to gear up website development
Top 5 automation testing tools to gear up website developmentTop 5 automation testing tools to gear up website development
Top 5 automation testing tools to gear up website developmentBJIT Ltd
 
XebiaLabs Demo: Application Release Automation with Deployit
XebiaLabs Demo: Application Release Automation with DeployitXebiaLabs Demo: Application Release Automation with Deployit
XebiaLabs Demo: Application Release Automation with DeployitXebiaLabs
 
Cloud-based Performance & Web Load Testing
Cloud-based Performance & Web Load TestingCloud-based Performance & Web Load Testing
Cloud-based Performance & Web Load TestingInCycleSoftware
 
Cypress Best Pratices for Test Automation
Cypress Best Pratices for Test AutomationCypress Best Pratices for Test Automation
Cypress Best Pratices for Test AutomationKnoldus Inc.
 
Integration Testing as Validation and Monitoring
 Integration Testing as Validation and Monitoring Integration Testing as Validation and Monitoring
Integration Testing as Validation and MonitoringMelissa Benua
 
Continuous Testing in the Cloud
Continuous Testing in the CloudContinuous Testing in the Cloud
Continuous Testing in the CloudTechWell
 

Similar to Test at Scale within your Internal Networks with BrowserStack Local Testing (20)

Opticon18: Developer Night
Opticon18: Developer NightOpticon18: Developer Night
Opticon18: Developer Night
 
Deep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenariosDeep Dive - Usage of on premises data gateway for hybrid integration scenarios
Deep Dive - Usage of on premises data gateway for hybrid integration scenarios
 
Advanced automated visual testing - DrupalCon seattle 2019
Advanced automated visual testing - DrupalCon seattle 2019Advanced automated visual testing - DrupalCon seattle 2019
Advanced automated visual testing - DrupalCon seattle 2019
 
Client-side Performance Testing
Client-side Performance TestingClient-side Performance Testing
Client-side Performance Testing
 
Client-Side Performance Testing
Client-Side Performance TestingClient-Side Performance Testing
Client-Side Performance Testing
 
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB AtlasMongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
MongoDB World 2019: Why NBCUniversal Migrated to MongoDB Atlas
 
Azure Web Apps
Azure Web AppsAzure Web Apps
Azure Web Apps
 
Microservices Architecture
Microservices ArchitectureMicroservices Architecture
Microservices Architecture
 
New Products Overview: Use Cases and Demos
New Products Overview: Use Cases and DemosNew Products Overview: Use Cases and Demos
New Products Overview: Use Cases and Demos
 
New Products Overview: Use Cases and Demos
New Products Overview: Use Cases and DemosNew Products Overview: Use Cases and Demos
New Products Overview: Use Cases and Demos
 
Azure appservice
Azure appserviceAzure appservice
Azure appservice
 
Curiosity and Xray present - In sprint testing: Aligning tests and teams to r...
Curiosity and Xray present - In sprint testing: Aligning tests and teams to r...Curiosity and Xray present - In sprint testing: Aligning tests and teams to r...
Curiosity and Xray present - In sprint testing: Aligning tests and teams to r...
 
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the CloudSauce Labs+Applitools - Automated Visual Testing in the Cloud
Sauce Labs+Applitools - Automated Visual Testing in the Cloud
 
Top 5 automation testing tools to gear up website development
Top 5 automation testing tools to gear up website developmentTop 5 automation testing tools to gear up website development
Top 5 automation testing tools to gear up website development
 
XebiaLabs Demo: Application Release Automation with Deployit
XebiaLabs Demo: Application Release Automation with DeployitXebiaLabs Demo: Application Release Automation with Deployit
XebiaLabs Demo: Application Release Automation with Deployit
 
Cloud-based Performance & Web Load Testing
Cloud-based Performance & Web Load TestingCloud-based Performance & Web Load Testing
Cloud-based Performance & Web Load Testing
 
Progressive Web Apps
Progressive Web AppsProgressive Web Apps
Progressive Web Apps
 
Cypress Best Pratices for Test Automation
Cypress Best Pratices for Test AutomationCypress Best Pratices for Test Automation
Cypress Best Pratices for Test Automation
 
Integration Testing as Validation and Monitoring
 Integration Testing as Validation and Monitoring Integration Testing as Validation and Monitoring
Integration Testing as Validation and Monitoring
 
Continuous Testing in the Cloud
Continuous Testing in the CloudContinuous Testing in the Cloud
Continuous Testing in the Cloud
 

Recently uploaded

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MIND CTI
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data SciencePaolo Missier
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfOrbitshub
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityWSO2
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformWSO2
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard37
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...caitlingebhard1
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDropbox
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringWSO2
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuidePixlogix Infotech
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAnitaRaj43
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamUiPathCommunity
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Bhuvaneswari Subramani
 

Recently uploaded (20)

MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdfRising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
Rising Above_ Dubai Floods and the Fortitude of Dubai International Airport.pdf
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data PlatformLess Is More: Utilizing Ballerina to Architect a Cloud Data Platform
Less Is More: Utilizing Ballerina to Architect a Cloud Data Platform
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
JohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptxJohnPollard-hybrid-app-RailsConf2024.pptx
JohnPollard-hybrid-app-RailsConf2024.pptx
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Choreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software EngineeringChoreo: Empowering the Future of Enterprise Software Engineering
Choreo: Empowering the Future of Enterprise Software Engineering
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 AmsterdamDEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
DEV meet-up UiPath Document Understanding May 7 2024 Amsterdam
 
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​Elevate Developer Efficiency & build GenAI Application with Amazon Q​
Elevate Developer Efficiency & build GenAI Application with Amazon Q​
 

Test at Scale within your Internal Networks with BrowserStack Local Testing

  • 1. Test at Scale within your Internal Networks with BrowserStack Local Testing Praveen Umanath Director Product Marketing, BrowserStack Sreyantha Chary Product Manager, BrowserStack
  • 2. Agenda SECTION About BrowserStack What is Local Testing? Quick demo: Local Testing in action Getting started with Local Testing Advanced setups for complex networks
  • 3. Our History Sep 2011 Launch 1000 customers App Automate Launch 3 offices Feb 2012 Jan 2018 8 years 300+ employees Real Android Devices Aug 2015 Real iOS Devices Dec 2015 App Live Launch Aug 2017 $50M Series A from Accel US-E Mobile DC Jul 2019
  • 4. Our Platform of 2000+ browsers and devices has... 135+ Countries with customers 2M+ Registered Users 60M tests/month 6 Globally distributed DCs 6 billion Selenium commands/month 10M Hours of testing/month
  • 6. Powering 1000s of Open Source Projects browserstack.com/open-source
  • 8. What is Local Testing? What problem does Local Testing solve?
  • 9. What is Local Testing? ● It is easy to perform “dev testing” on your local machine with the browsers you have ● To test applications on the cloud, teams usually deploy them to a publicly accessible server ● With Local Testing, you don’t need to deploy your application to a publicly accessible server to test it—as it establishes a secure connection between BrowserStack and your network Without Local Testing With Local Testing
  • 11. Local Testing: What can you test? Locally hosted websites Staging environments HTML / design files Internal pre-prod sites
  • 12. Quick Demo See Local Testing in action
  • 14. Local Testing with Automate
  • 15. Getting started with Local Testing: Using the Binary Enabling Local Testing with Automate is a simple two-step process: 1. Establishing a Local Testing connection. a. Use language bindings b. Use the CLI (shell scripts) ./BrowserStackLocal --key your_access_key 1. Configuring test scripts so they run through the Local Testing connection. caps.setCapability("browserstack.local", "true"); Read more here: https://www.browserstack.com/local-testing/automate
  • 17. ● Many networks are set up behind proxies ● Using Local Testing in this case is easy: ○ Pass the proxy options while creating the Local Testing connection ○ Run tests like you would normally do ● Local binary v7.6 and above automatically detect proxy settings on your machine and setup the connection What if my test environments are behind a proxy?
  • 18. Using the binary when you’re behind a proxy
  • 19. ● Disable packet inspection for requests to and from *.browserstack.com, or else you’ll face a Bad SSL certificate error ● We provide solutions to handle packet inspection and certificates for our Enterprise users What if my network inspects HTTPS packets?
  • 20. ● In big corporations and fintech companies, applications and test environments are set up behind a firewall ● Enable egress (from your network to BrowserStack) traffic by whitelisting *.browserstack.com for all HTTP, HTTPS, WS and WSS requests & responses ● Bypass packet inspection for requests from *.browserstack.com to avoid Bad SSL certificate errors What if my test setup is behind a firewall?
  • 21. Using the binary when you’re behind a firewall
  • 22. ● Sometimes, your testing or compliance requirements mandate routing all the requests to your network rather than just the private-host requests ● You can achieve this by using the --force-local flag while setting up Local Testing connection with the binary There are more options you can use to set up the connection. For example, --only flag allows connections only for certain hosts and ports. Read more about these options here: https://www.browserstack.com/local-testing/binary- params But, I want everything to be routed via my network!
  • 23. Using the binary in special conditions
  • 25. ● In reality, using Local can get complex quickly when multiple teams test multiple builds at the same time ● Where possible, assign an identifier to each local connection you create with --local- identifier flag and use it in your tests with browserstack.localIdentifier capability ○ Also use --enable-logging-for-api flag so you can manage these connections via Local Testing APIs Managing multiple local connections
  • 27. Best practices ● Don’t use a single binary connection for all of your testing ○ Setup a new connection for every build ○ You can also create a new connection every test, but it increases your overall build time ● Use local-identifier options where possible as it is much easier to debug should you have issue while running your tests ● Always close your connection only after you are done with your testing; not doing so will break any network requests that are in pending state
  • 28. Local Testing for Enterprise We also provide the following features for our Enterprise users: ● IP whitelisting: for websites that are behind IP restrictions but are otherwise public ● Central Local connection manager: when you don’t want your team members to spawn individual Local connections. a. Admin can spawn several local connections with different identifiers, and team members can use those connections without creating new ones b. You don’t need to specify the local identifiers either—an active connection for each test will be picked randomly Note: IP geolocation will not work when you use Local Testing.
  • 29. Here’s what we covered ● What exactly Local Testing is ● Why is Local Testing useful ● How to use Local Testing ○ Extension for Live and binary / executable for Automate ● How to use Local Testing in different network setups ○ Use the relevant binary options ● Best Practices of Local Testing ○ Separate connection for each build ○ Use local-identifiers for easier debugging ● Enterprise features ○ IP whitelisting ○ Central Local connection manager (Closed Beta)

Editor's Notes

  1. Praveen can use this slide to intro the webinar and handover the control to Sreyanth
  2. Let’s understand what problem Local Testing solves. In any software development process, developers usually test their code on their machines using their dev setup Sometimes they can run their unit tests on their own machines too Testing front-end is no different. While implementing the backend functionality and writing HTML / CSS, the natural way to test the implementation is to check the functionality on localhost But what if you want to test the same on browsers and devices that you don’t have with you? BrowserStack solves that problem for you. But since your application is not publicly accessible, BrowserStack’s browsers and devices will not able to run your tests That is where the Local Testing feature comes into picture. Local Testing feature creates a secure connection between your machine and BrowserStack, and when you run your tests, the relevant requests will be routed to your machine via that secure connection.
  3. With Local Testing, you can access and test websites that: Are hosted as localhost / private IP address on a remote machine Are hosted as an intranet site on a remote machine Serve different pages for a public domain (set locally via /etc/hosts file) Are just HTML files in a folder