During my career, every time my team has to rely on a 3rd-party API, there comes the day where that API fails. Maybe it is down but usually they released a breaking change that breaks the previous contract. Our team does not notice it, but the client/user does and then we look bad.
I use Selenium to write most of my automated checks, and the PageObjects pattern is a must. My current team is using Cypress and, to my surprise, this test framework recommends
AppActions instead of
PageObjects. So I decided to benchmark both patterns using the following criteria:
- Can it abstract page selectors?
- Can it abstract page actions?
- Is it easy to write and maintain those abstractions?
- Is it easy to write tests?