loginAsUser(user)
id = createBooking(user)
loginAsAdmin()
approveBooking(id)
?
Is it the same as selenium? Do whatever you want your self?
That’s what I’m talking about. Unless you have high level composable modules that let you express high level test activities then your tests will always fall apart.
The syntax of the low level operations doesn’t matter because you will never ever care about a click(“compose”).
That’s not a test.
A test might be:
createEmail()
attachFile(…)
… whatever your bespoke business requirements are.
Having fancy wrappers?
Is it nicer? Sure.
Does it meaningfully improve the tests, maintaining tests?
Nope.
Because at the end of the day the low level operations will be bespoke, nasty, messy and different for each website; that’s why you wrap them up in functions and compose them.
At least, in my experience; this looks a lot like cypress; a high level set of operations with sensible defaults for easy tasks.
…but, practically, I’m skeptical that hiding the low level nasty details actually makes them go away; it’s smoothing them over for the “happy path”; but automation tests are like 90% edge cases.
> It’s use can be lighter
I don’t think that’s the generally accepted meaning of a light weight framework.
…but eh, fair enough. I understand what you mean.