Ukraine _ SDCLabs

_ codeception.com

Design Decisions for Perfect JS Testing Framework

How can you create a stable and efficient testing framework? JavaScript has a huge ecosystem, and building any system on top of it requires a good understanding of modern libraries and approaches. Decisions you make now – and tests the you write today – may be with you for years. What makes a perfect testing framework for you?

This talk is a deep overview of tools and approaches which can be used for crafting automated tests for JavaScript code. Michał will look into the following questions and see how they can be solved with current tools:

  • Choosing a proper abstraction level
  • Choosing a running backend: WebDriver/Chrome DevTools Protocol/Electron
  • Dealing with asynchronity: Promise Chain, Global Promise, async/await
  • Choosing test runner: Webdriverio, Protractor, Puppeteer, Cucumber, CodeceptJS, TestCafe, Cypress.
Key takeaways
  1. Choose the browser driver which fit you requirements the best. Learn ecosystem, learn pros/cons, make a decision.
  2. Selenium is not the only option.
  3. Separate test scenario from browser control to make stable tests.

Michael is a passionate web developer from Kyiv, Ukraine.

One day he started to think how to get more developers into testing so he started his own testing framework, Codeception. Nowadays, he is a lead developer of Codeception (PHP) and CodeceptJS testing frameworks.

"Testing should be fun" is his motto.