World’s largest virtual agentic engineering & quality conference
How has browser automation evolved? What are the strategies companies have used so far? Listen to Christian Bromann elaborate on it.

TestMu AI
Author
Published on: August 30, 2022
Last Updated on: July 17, 2026
Have you been curious about browser automation? Christian Bromann, Founding Engineer, Stateful Inc., is here to share the perils of information surrounding the topic with Manoj Kumar, VP of Developers Relation, hosting the session.
He started by explaining how there have been plenty of misconceptions surrounding how browser automation works. According to him, with many automation problems, you should know the exact location of the error to fix your app and test the script report back in the testing framework.
He took us over the memory lane to explain what has happened over the past 18 years and how the automation testing frameworks have changed so massively.

He started with how Jason Huggins, currently the Founding Engineer at Stateful, Inc, created the Selenium tool. Then he spoke about how Simon Stewart, Software Engineer at Apple, created WebDriver. Selenium was previously running in the browser and had issues regarding cross-origin policies and automation around the browser. Hence Simon and Jason collaborated to combine both Selenium and WebDriver - Selenium WebDriver.
It's not easy to maintain different drivers. Hence W3C started to speculate WebDriver protocol. Soon, WebdriverIO for Selenium testing was released to combat the limitations put forth by Selenium and WebDriver. Protractor and WebDrive JS Bindings were also released.
Christian spoke on how there has always been a lack of testing capabilities. This limitation paved the way for more tools like Cypress, Puppeteer, and Playwright. He spoke on how in 2018, WebDriver earned a W3C recommendation. He also gave a gist on how WebDriver protocols have been in the development stage for quite a while and that the latest version of WebDriver protocol is called WebDriver Bi-Di.
There are two tools for browser automation, according to Christian Bromann. Here are the snippets he shared:
Conventional tools: Tools like Selenium, Nightwatch, WebdriverIO.
Non-standard tools: Tools like Cypress and Puppeteer.
For example,
Christian also spoke elaborately on browser automation strategies we need to remember.

According to Christian, Cypress.io uses web and browser APIs, whereas Puppeteer depends upon browser APIs, Playwright on customer or modified browser APIs, Selenium on WebDriver protocol, and TestCafe through Web APIs.
Christian divides the browser automation techniques into three:
He compared and contrasted the three of them:
| Web APIs | Browser APIs | WebDriver Protocol |
|---|---|---|
| 1st generation of automating browsers. | 2nd generation of automating browsers. | 3rd generation of automating browsers. |
| Provides complete control of the execution environment. | It's available in all browser engines like Chromium, Gecko, or WebKit. | Official web standard developed by W3C by all browser vendors. |
| Automation commands are mostly emulated. | It's accessible in only Chromium and Firefox. | Thoroughly tested as a part of the web platform test suite. |
| It has limitations such as no switching windows or cross-origin or iFrame support. | It's used for delaying purposes. | Limited capabilities designed to automate from the user's point of view. |
Christian spoke about how web APIs have been around since 2004 and are not as supportive of browser automation as its successors, even though tools like Cypress and TestCafe use them.
Similarly, browser API works differently from one version to another with no backward compatibility. For example, you would have to update Puppeteer every time there is a new Chrome release.
It's also challenging to automate three browsers simultaneously since they all operate in three different languages. All such factors led to the birth of the WebDriver protocol to ensure a consistent automation experience. It's like having ten assistants to get your automation job done.
With this approach, as per Christian, you can easily automate a browser factory, any mobile factory, or an iOS factory.
With WebDriver Bi-Di, Christian explained how you could provide a number of commands at the same time to multiple factors. He also explained the important features that set it apart.

Christain said that you are also allowed to monkey patch specific APIs and web APIs to have more control over the application, and it's also backward compatible. He is optimistic that this new protocol can change many things in the future. He explained how you could send over 10,000 commands instead of the recent ones where you can send limited commands.
He then expressed how he wishes to witness the success of WebDriver protocol but also roots for tools like Cypress and Playwright automation since they take automation to the next level, providing fantastic user experience using tools.
This is what he believes will happen in the upcoming days:

He shared his excitement about different web standards, for instance, the web authentication standard, which allows you to create virtual authenticators in WebDriver. He ended the conversation with a quote from Maya and James, who have worked on the Firefox browser.
The first generation of browser automation runs entirely inside the browser using standard Web APIs, the same JavaScript APIs a web page itself can call. Tools like Cypress and TestCafe take this approach, and understanding how they work explains both their speed and their limits.
Cypress executes your test code directly inside the browser's event loop, in the same run context as the app, by loading your application in an iframe and driving it from the parent frame. Running in-process is what gives Cypress its fast, reliable DOM access and time-travel debugging. TestCafe takes a different route: it inserts a reverse proxy between the browser and the server, rewriting the page so its driver script runs alongside your application with no browser extension required.
Because both live inside the page's own JavaScript sandbox, they inherit the browser's restrictions:
The second generation reaches below the page into the browser itself through Browser APIs, most notably the Chrome DevTools Protocol (CDP). CDP is the same protocol the Chrome DevTools use, exposed over a WebSocket connection, and it is what Puppeteer and Playwright drive to get low-level control that Web APIs cannot offer:
The trade-offs are also why CDP is not the end of the story:
The third generation, WebDriver BiDi, is designed to combine the cross-browser standardization of W3C WebDriver Classic with the low-latency, event-driven power of CDP. It is an official W3C effort backed by the major browser vendors.
Where WebDriver Classic is request/response over HTTP (you send a command, you get a result), BiDi adds a persistent, bidirectional channel over WebSockets using JSON-RPC-style messaging. That two-way channel is what "bi-directional" means: the browser can push events to your test as they happen, instead of the test only polling for results.
This unlocks capabilities that previously required CDP, but in a standardized, cross-browser way:
Because it is a shared standard, tests written against BiDi are meant to work across Chromium, Firefox, and WebKit-based browsers alike, which is exactly the cross-vendor future Christian pointed to in the talk.
The clearest way to see the evolution is to line up the transport, communication model, and browser support of each generation:
| Aspect | WebDriver Classic | CDP (Browser APIs) | WebDriver BiDi |
|---|---|---|---|
| Transport | HTTP (request/response) | WebSocket | WebSocket (JSON-RPC) |
| Communication | One-directional | Bi-directional (events) | Bi-directional (events) |
| Standardization | W3C standard | Chromium-specific (de facto) | W3C standard (emerging) |
| Browser support | All major browsers | Chromium, partial Firefox | Chromium, Firefox, WebKit (rolling out) |
| Best for | Stable cross-browser scripts | Deep low-level control | Standardized low-level control plus events |
In the end, our host, Manoj Kumar, laid a few questions in front of him asked by the attendees. He answered them with a willingness to help the community:
We cordially thank Christian for this amazing speech! Hope you found the insights shared over here useful!
After the successful Testμ Conference 2022, where thousands of testers, QA professionals, and developers worldwide joined together to discuss on future of testing.
Join the testing revolution at TestMu AI Testμ Conference 2023. Register now!" - The testing revolution is happening, and you don't want to be left behind. Join us at TestMu AI Testμ Conference 2023 and learn how to stay ahead of the curve. Register now and be a part of the revolution.

Author
TestMu AI is World's First Full Stack AI Agentic Quality Engineering platform that empowers teams to test intelligently, smarter, and ship faster. Built for scale, it offers a full-stack testing cloud with 10K+ real devices and 3,000+ browsers. With AI-native test management, MCP servers, and agent-based automation, TestMu AI supports Selenium, Appium, Playwright, and all major frameworks. AI Agents like HyperExecute and KaneAI bring the power of AI and cloud into your software testing workflow, enabling seamless automation testing with 120+ integrations. TestMu AI Agents accelerate your testing throughout the entire SDLC, from test planning and authoring to automation, infrastructure, execution, RCA, and reporting.
Did you find this page helpful?
More Related Blogs
TestMu AI forEnterprise
Get access to solutions built on Enterprise
grade security, privacy, & compliance