I've been working with web testing frameworks (Selenium and its wrappers / Cypress / Puppeteer / Playwright / others) for the last few years, but I asked myself what "frameworks of the future" should look like. I found myself not wanting things too wild or different from what we have today - just incremental improvements. Is that objectively true? What, if anything, is the next leap forward? Or are we close to them being "good enough" for the most part?<p>My top "problems", in some shape or form, from existing products:<p>- Be faster to complete builds<p>- Have fewer false positives (or do accurate self-healing magic)<p>- Be easier to get started with (or be optionally codeless like Selenium IDE)<p>- Don't be a walled garden (what if I want to run the same logical 'test' across Playwright and Cypress)<p>- Help me write better tests (or be difficult to write bad tests within)<p>- Emulate mobile devices better than just viewport modification<p>What do the HN folks think?
<i>accurate self-healing magic</i><p>I don't want this in a testing tool. If something isn't working the way I built a test for then I want to know, even if it still <i>technically</i> works for the user.<p><i>Don't be a walled garden (what if I want to run the same logical 'test' across Playwright and Cypress)</i><p>This isn't important. It's fine to say "You'll need two copies of your test", and it's not that hard to write tests to be 'isomorphic' so they'll run in multiple places. The fact is the number of people who run multiple test tools, or even move from one tool to another, is tiny.<p>Being open is great, but there's no reason to change the design of your tool to make it easier to move. Just make it good, and leave porting tests between tools to the user.
To be clear, of course over time new paradigms will come in (AR / VR / other platforms) and testing will need to evolve to meet those use-cases - my question is centered around webapp testing as it stands today.