I spent a good chunk of today building an e2e test setup with just JavaScript. You define a test, it opens a new tab, and runs that test. It stores state in local storage between page refreshes.
What I'm realizing is that you DO need something on top of the browser APIs for ergonomics. But existing tools I have tried (selenium, cypress, playwright, testing library) miss the markin two big ways: poor tools for location of elements, unusable test failure messages. To elaborate: [1/?]