TestCon Europe 2019

Michael Bodnarchuk

SDCLabs, Ukraine


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.


Design Decisions for Perfect JavaScript Testing Framework

JavaScript has the biggest ecosystem. Building any system on top of it expects a good understanding of all modern libraries and approaches. Before writing any automated test you should consider how it should be executed. And any taken decision will last for years with your tests. How to create a stable and efficient testing framework? What makes a perfect testing framework for you?

Let’s look into the following questions and see how they can be solved with current tools in JS:

– Choosing 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.

Build a testing framework you will love, the one testing framework you won’t need to rewrite next year.

Session Keywords