SlideShare a Scribd company logo
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

PDF
Browser_Stack_Intro
PDF
Amazon API Gateway
PPTX
Beyond DevOps - How Netflix Bridges the Gap
PDF
Performance Monitoring with Google Lighthouse
PPT
Ppt of soap ui
PDF
What's new in selenium 4
PDF
Python-for-DevOps-Learn-Ruthlessly-Effective-Automation-by-Noah-Gift_-Kennedy...
PDF
Repository Management with JFrog Artifactory
Browser_Stack_Intro
Amazon API Gateway
Beyond DevOps - How Netflix Bridges the Gap
Performance Monitoring with Google Lighthouse
Ppt of soap ui
What's new in selenium 4
Python-for-DevOps-Learn-Ruthlessly-Effective-Automation-by-Noah-Gift_-Kennedy...
Repository Management with JFrog Artifactory

What's hot (20)

PDF
Ship quality mobile apps with speed [Webinar]
PDF
Cross-Browser-Testing with Protractor & Browserstack
PPTX
Cross browser testing with browser stack
PPTX
Selenium Test Automation
PDF
Cross browser testing using BrowserStack
PPTX
Pwa demystified
PDF
Selenium 4 with Simon Stewart [Webinar]
PDF
Building a Progressive Web App
PDF
Progressive Web Apps / GDG DevFest - Season 2016
PPT
Test Automation Best Practices (with SOA test approach)
PPTX
Test Automation Framework with BDD and Cucumber
PDF
Cypress - Best Practices
PDF
Evolution of API-driven architectures
PDF
Azure 10 major services
PDF
Xpath in Selenium | Selenium Xpath Tutorial | Selenium Xpath Examples | Selen...
PDF
Web automation using selenium.ppt
PPTX
Mobile Automation with Appium
PPT
Automated Testing with Agile
PDF
Introduction To Mobile-Automation
PPTX
Test automation proposal
Ship quality mobile apps with speed [Webinar]
Cross-Browser-Testing with Protractor & Browserstack
Cross browser testing with browser stack
Selenium Test Automation
Cross browser testing using BrowserStack
Pwa demystified
Selenium 4 with Simon Stewart [Webinar]
Building a Progressive Web App
Progressive Web Apps / GDG DevFest - Season 2016
Test Automation Best Practices (with SOA test approach)
Test Automation Framework with BDD and Cucumber
Cypress - Best Practices
Evolution of API-driven architectures
Azure 10 major services
Xpath in Selenium | Selenium Xpath Tutorial | Selenium Xpath Examples | Selen...
Web automation using selenium.ppt
Mobile Automation with Appium
Automated Testing with Agile
Introduction To Mobile-Automation
Test automation proposal
Ad

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

ODP
Mastering selenium for automated acceptance tests
PPTX
Selenium – testing tool jack
PPTX
Testing frontends with nightwatch & saucelabs
PDF
Webdriver.io
PPTX
Real-Time Communication Testing Evolution with WebRTC
PDF
Testing Code.org's Interactive CS Curriculum
PDF
Testing Big in JavaScript
PDF
Ten practical ways to improve front-end performance
PPTX
How to Perform Test Automation With Gauge & Selenium Framework
PDF
A Guide to Cross-Browser Functional Testingv
PPTX
Selenium ~ Uncommon but practical use cases
PPT
TestLink introduction
PPTX
Getting Started With Selenium
PPT
Selenium
PDF
From 0 to 100: How we jump-started our frontend testing
PPTX
A Definitive Guide to Mastering Selenium WebDriver Automation Effectively.pptx
PPTX
How to work with Selenium Grid and Cloud Solutions
PDF
How To Use Selenium Successfully (Java Edition)
PDF
Oscon2007 Windmill
PPTX
Testing Testing everywhere
Mastering selenium for automated acceptance tests
Selenium – testing tool jack
Testing frontends with nightwatch & saucelabs
Webdriver.io
Real-Time Communication Testing Evolution with WebRTC
Testing Code.org's Interactive CS Curriculum
Testing Big in JavaScript
Ten practical ways to improve front-end performance
How to Perform Test Automation With Gauge & Selenium Framework
A Guide to Cross-Browser Functional Testingv
Selenium ~ Uncommon but practical use cases
TestLink introduction
Getting Started With Selenium
Selenium
From 0 to 100: How we jump-started our frontend testing
A Definitive Guide to Mastering Selenium WebDriver Automation Effectively.pptx
How to work with Selenium Grid and Cloud Solutions
How To Use Selenium Successfully (Java Edition)
Oscon2007 Windmill
Testing Testing everywhere
Ad

Recently uploaded (20)

PPTX
Cloud computing and distributed systems.
PDF
Unlocking AI with Model Context Protocol (MCP)
PDF
CIFDAQ's Market Insight: SEC Turns Pro Crypto
PPTX
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
PDF
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
PDF
Electronic commerce courselecture one. Pdf
PDF
Chapter 3 Spatial Domain Image Processing.pdf
PPTX
Understanding_Digital_Forensics_Presentation.pptx
PDF
Review of recent advances in non-invasive hemoglobin estimation
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Advanced IT Governance
PDF
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
PPT
“AI and Expert System Decision Support & Business Intelligence Systems”
PDF
Empathic Computing: Creating Shared Understanding
PDF
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
PPTX
MYSQL Presentation for SQL database connectivity
PDF
Spectral efficient network and resource selection model in 5G networks
PDF
The Rise and Fall of 3GPP – Time for a Sabbatical?
PPTX
20250228 LYD VKU AI Blended-Learning.pptx
PDF
Dropbox Q2 2025 Financial Results & Investor Presentation
Cloud computing and distributed systems.
Unlocking AI with Model Context Protocol (MCP)
CIFDAQ's Market Insight: SEC Turns Pro Crypto
Effective Security Operations Center (SOC) A Modern, Strategic, and Threat-In...
7 ChatGPT Prompts to Help You Define Your Ideal Customer Profile.pdf
Electronic commerce courselecture one. Pdf
Chapter 3 Spatial Domain Image Processing.pdf
Understanding_Digital_Forensics_Presentation.pptx
Review of recent advances in non-invasive hemoglobin estimation
Reach Out and Touch Someone: Haptics and Empathic Computing
Advanced IT Governance
TokAI - TikTok AI Agent : The First AI Application That Analyzes 10,000+ Vira...
“AI and Expert System Decision Support & Business Intelligence Systems”
Empathic Computing: Creating Shared Understanding
solutions_manual_-_materials___processing_in_manufacturing__demargo_.pdf
MYSQL Presentation for SQL database connectivity
Spectral efficient network and resource selection model in 5G networks
The Rise and Fall of 3GPP – Time for a Sabbatical?
20250228 LYD VKU AI Blended-Learning.pptx
Dropbox Q2 2025 Financial Results & Investor Presentation

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

  • #9: Praveen can use this slide to intro the webinar and handover the control to Sreyanth
  • #10: 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.
  • #12: 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