Windows Firewall and BrowserStack Local
03 Jun 2025
For some weird reason, Windows (at least on my computer) doesn’t like to let the BrowserStackLocal.exe
“binary” file doesn’t like to do its job unless I explicitly add a rule to Windows Defender Firewall letting that .exe
file make outbound TCP connections over port 443.
(Note: The popup to allow inbound connections can be safely closed out of without issue, the first time you run the program. That’s just a thing Windows does that can usually be escaped out any time you try to run a little web server on localhost
. If you’re only ever accessing it at localhost
, you don’t need to allow it. You’ll see the same if you run a web server using Node.js, Python, etc.)
Once I took care of that, this all worked, whereas before, nothing appeared in my CLI
.\BrowserStackLocal.exe `
--key MY_BROWSERSTACK_SERVICE_ACCOUNT_KEY `
--include-hosts "search.worldcat.org" "localhost" "127.0.0.1" ".*.browserstack.com" `
--enable-logging-for-api `
--verbose
I was always getting this:
TIMESTAMP_HERE -- BrowserStackLocal v8.9
TIMESTAMP_HERE -- Setting output as verbose
TIMESTAMP_HERE -- [INFO] Started the BrowserStack Binary server on 12345, PID: 9876
TIMESTAMP_HERE -- [SUCCESS] You can now access your local server(s) in our remote browser
TIMESTAMP_HERE -- Connecting to BrowserStack using WebSocket protocol...
TIMESTAMP_HERE -- Platform supports WebSocket connections.
TIMESTAMP_HERE -- Press Ctrl-C to exit
TIMESTAMP_HERE -- Starting configuration console on http://localhost:45454
But it’d just stay silent after that until I added an explicit firewall rule. No idea why that helped. There must be some default behavior of Windows side-eyeing long-lived connections like WSS ones, as are used by BrowserStackLocal.exe
?
Once I put the rule into place, attempts to run my test suite succeeded, and I started seeing logs like this in my BrowserStackLocal.exe
CLI logs:
TIMESTAMP_HERE -- local.browserstack.com:443 socket connected.
TIMESTAMP_HERE -- search.worldcat.org:443 socket connected.
TIMESTAMP_HERE -- search.worldcat.org:443 socket connected.
TIMESTAMP_HERE -- eds.browserstack.com:443 socket connected.
TIMESTAMP_HERE -- tcg.browserstack.com:443 socket connected.
And I finally stopped getting this error out of my BrowserStack Low Code Automation test that was part of my Test Suite:
Could not access url https://search.worldcat.org/search?q=automation&itemSubType=book-printbook&limit=10&offset=21&itemSubTypeModified=book-printbook as it is restricted to a private network. Follow steps mentioned here to run the local binary
https://www.browserstack.com/docs/low-code-automation/local-testing
Note: apparently this CLI clutter is safe to ignore:
TIMESTAMP_HERE -- Connection to ping-local.browserstack.com:80 failed with ENOTFOUND
TIMESTAMP_HERE -- Connecting to ping-local.browserstack.com:80 with IPv6
TIMESTAMP_HERE -- Connection to ping-local.browserstack.com:80 failed with ENOTFOUND
TIMESTAMP_HERE -- [ERROR] Connection to ping-local.browserstack.com:80 without proxyfailed due to ENOTFOUND
You can see the test I was playing around with replicating in BrowserStack Low-Code Automation over at splunk-synthetic-01 and at az-playwright-svc-01.
Overall, like with Postman, I’m impressed by BrowserStack’s GUIs, and horrified by their lack of API-first configurability.
As you can see w/ my Splunk Synthetic Monitoring Browser Test demo above, I was able to create each and every step with Terraform.
Why didn’t BrowserStack bother to let me do the same level of backup/restore rigor in their Low-Code Automation product?
I love the fancy screenshots and whatnot, but please, low-code vendors, stop treating your flowchartey builder tools as walled gardens. Please treat them as mere GUI IDEs for generating Git-version-controllable source code under the hood! It’s 2025. Microsoft’s doing it right with Power Platform and with Azure Synapse / Azure Data Factory. Splunk Synthetic Monitoring did it right.
Why is BrowserStack Low-Code Automation a step backward in software development lifecycle quality control and DevOps principles? Testing on the Toilet was over a decade ago. The term DevOps was coined over a decade and a half ago. BrowserStack, I need you to be way past pretending that webapp development teams don’t need to version-control every last detail about how their regression tests are configured with code / Git. Again … it’s 2025. Pleasethankyou!