Stop using Page Objects and Start using App Actions

Gleb Bahmutov, PhD

VP of Engineering, Cypress.io

$ git clone https://github.com/bahmutov/test-todomvc-using-app-actions.git
$ cd test-todomvc-using-app-actions
$ npm install
$ npm start

Let's test TodoMVC

$ npm install -D cypress

Cypress = end-to-end tests are fun

Final Thoughts

Page Objects = build on top of unstable DOM 🙁

Final Thoughts

App Actions

  • Tied to app's internal API

  • Keep tests focused on feature X

  • Fast

App Actions

📰 "Stop using Page Objects and Start using App Actions" at

Thank you