Even if you use something like Cypress you probably need something like Reflect (or Testim where I work but don't represent - for that matter) - you would just end up writing the framework in-house.
Even if you use something like Cypress you probably need something like Reflect (or Testim where I work but don't represent - for that matter) - you would just end up writing the framework in-house.
But once I started to write tests with it, I realized the model was optimized for simple tests where you can afford to act only as the end-user, whereas for the more complex flows we're interested in testing, you need to act both as the end-user as well as, say, someone in the operations team doing a bunch of manual approval steps, or say, the email/sms system that delivering some secret out-of-band (through a staging backdoor API), interleaved between the end-user actions, and not being able to precisely coordinate those async interactions between these distinct actors made those tests extremely awkward to write compared to something using playwright/puppeteer, where you just coordinate promises like you usually do.
That's before we get into the limitations around single domain per test which meant we couldn't effectively test our login flow that uses a separate domain for login for OIDC.