So Microsoft launches a Node-based browser automation project called Playwright. It allows you to spin up a headless version of a browser and control it. Go here! Click something! Take a screenshot! That kind of stuff. Particularly useful for testing.
It’s just like Google’s Puppeteer, only instead of being Chrome-only, it also “works” in Firefox and Safari.
The drama started immediately.
The launch tweet from Andrey Lushnikov (who’s Twitter bio is “former TL @ Chrome Puppeteer, former eng @ Chrome DevTools”), is responded to by Sam Sneddon who questions the cross-browser compatibility. Apparently that compatibility comes via very large patches to those other browsers which some feel are a little house-of-cards-esque and will never actually land in those other browsers, especially since there are competing efforts like puppeteer-firefox.
It’s fairly obvious that the original team from Google behind Puppeteer kinda, uhhhh, made their way over to Microsoft and re-did the work over there. A little bird tells me Google is proper pissed about it.
I don’t have any other inside knowledge here, but it doesn’t seem to make Microsoft look very good here. For a company that has had so much success with an open-source strategy, hiring away a team to build a directly competing alternate open-source project without much cooperation from the other open-source projects it integrates with isn’t a great look. At the same time, having a working project that allows cross-browser headless control is pretty rad.
Feel free to enlighten me if I have it all wrong.
Related: As I understand it, Cypress doesn’t use either project, but has their own thing, and is close to Firefox support as well.
That was news to me, cypress beeing Close to Ff support. That ticket is over two years old and I haven seen any proof of it.
That was one of deciding factors for me to switch framework to another once. Because where I use it we need other browser support in the test process.
And from my perspective safari(macOS) and edge(win) is more important then Firefox.
For what it’s worth, Cypress added Firefox and Edge support this past February. Check out version 4.0.
The developers on that team are investing a lot of work to provide an open source tool to the community that will help with cross-browser testing. I tried it out on QA Wolf and all of our tests pass across Chromium, Firefox, and Webkit. There were a few corner case bugs but the Playwright developers resolved the issues I opened within the same day.
Perhaps Google was not willing to invest the resources to add the cross-browser support and Microsoft was. They do have different incentives because of Chrome. I don’t think it is fair to assume negative motives.
Re: patches, Playwright mentions they would like to get those patches merged upstream. I don’t blame them for not wanting to be blocked on that.
It’s open-source, let the competition begin. Why stifle competition when competition can lead to better tools? Sure, it would be great if they could collaborate, but if not the user wins with more choices.