Hacker News new | ask | show | jobs
by troglodynellc 1897 days ago
Playwright is a breath of fresh air next to selenium. And I maintain the perl selenium client and have written thousands of selenium tests!

So much so that I wrote what may? be the first third-party client for it: https://metacpan.org/pod/Playwright

Here's my writeup on why I like playwright versus selenium: https://troglodyne.net/posts/1617057517

2 comments

That's a really good explanation. It's funny that they don't mention or allude to any of this in their page on why playwright: https://playwright.dev/docs/why-playwright/
That doesn't really surprise me to be honest.

Most of this is invisible to end-users of selenium, as it's just a hammer they pick up; the struggles of the maintainers is not (nor should it be) something they have to worry about.

Nevertheless, they probably could get some hay mentioning that their API implements a significant amount more functionality versus every other cross-browser testing framework.

That said, they really don't have to, the work really stands by itself.

It definitely manifests in ways I can see. I struggled for years as an end user of selenium with backwards compatibility issues, bugs and weird browser quirks.

It's pretty apparent that it requires an awful lot of maintenance to keep up with the browsers, so if this really does reduce the workload on them then that ought be noticeable on my end with fewer bugs, quirks and backwards compatibility issues. This is more exciting to me than all of the other features (I'm a bit dubious of the ability to detect if a page has really 'loaded', for instance).

In my experience, playwright is a lot, lot better on this than selenium.

You can even choose different events to wait for!

That said, there's no accounting for developers who think FOUCs are normal, etc and generally make your life as a tester and end user difficult.

That is an excellent write-up, and assuages the main concern I was still having with Playwright (Playwright itself addressing the main concern I had with Puppeteer, which was its focus on a single browser). Thanks for sharing!