Salesforce, Python, SQL, & other ways to put your data where you need it

Need event music? 🎸

Live and recorded jazz, pop, and meditative music for your virtual conference / Zoom wedding / yoga class / private party with quality sound and a smooth technical experience

Windows Firewall and BrowserStack Local

03 Jun 2025 🔖 selenium tips web development windows
💬 EN

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!

--- ---