
Microsoft Playwright: Automate Chromium, WebKit and Firefox - tomduncalf
https://github.com/microsoft/playwright
======
gsnedders
As the FAQ says, this is written by largely the same team as who worked on
Puppeteer, who largely moved to MS last year.

That said, I have severe reservations about their claims that it's cross-
browser:

They mention WebDriver, and how they hope to "steer it towards the bi-
directional communication channel", but they've not at any point tried to
engage with the working group, and they've historically actively pushed back
against any attempt to standardise CDP or anything very similar to it before
(despite CDP already having an ecosystem around it). They were the owners of
the CDP protocol within the Chrome team and it was their lack of support for
any standardisation that is the reason why there is no standardised protocol
today.

They say they support Firefox, but this is support in the same sense as
puppeteer-firefox: it relies on a large patch to Firefox, which looks similar
to the one written for puppeteer-firefox, and which has no chance of getting
landed. It seems like they haven't taken the feedback on-board from when they
tried this with puppeteer-firefox: springing a large patch onto the Mozilla
community is unlikely going to get accepted, especially when they haven't
addressed the architectural concerns raised previously.

They could've engaged with the work that has been happening around Firefox
with a duplex testing protocol over the past year, but they haven't, and
they've written their own thing in isolation. The fact that Firefox now
already has another protocol partly implemented makes it even less likely that
their patch and their new protocol will get accepted.

The group now maintaining Puppeteer at Google is actively engaging with those
working on WebDriver and actively engaging with the work happening around
Firefox which makes it far more likely that Puppeteer in the future will
support an unmodified Firefox binary.

------
benologist
This looks like an amazing next-step for Puppeteer, and it addresses some of
the annoyances too. I generally use a loop that will wait-and-retry when
commands fail as it seems like virtually anything can crash in the right
circumstances.

> click waits for the element to be available and visible by default

> With Playwright, we encourage setTimeout-free automation

------
cryptos
How is the performance compared to Cypress (which is limited to Chromium)?

