Skip to content

Instantly share code, notes, and snippets.

@Naedri
Last active August 24, 2023 22:27
Show Gist options
  • Save Naedri/19483b83e4551b8241ad5592cef3338b to your computer and use it in GitHub Desktop.
Save Naedri/19483b83e4551b8241ad5592cef3338b to your computer and use it in GitHub Desktop.
A timeline chart illustrating the history of automated JavaScript testing frameworks and their generations.
%%{init: { 'logLevel': 'debug', 'theme': 'forest' } }%%

timeline

%%title History of Automated JS Testing Frameworks

section Prerequisites
    1993: Web
    2000-2004: Start of automation with simple test scripts
    2005: WebDriver (by Selenium)<br>in Java
    2006-2008: Emergence of automation frameworks<br>e.g., Selenium, JUnit
    2009: NodeJS
    2010: Selenium Grid<br>Integrated tests in DevOps process
    2011: Selenium WebDriver<br>in JS
    2012: W3C WebDriver initiated

section 1st Generation - W3C WebDriver<br>Low-level - Control via HTTP requests
    2012: WebdriverIO<br>Web tests - Configurable, Extensible
    2013: TheIntern<br>Web tests - Minimal configuration
    2014: Nightwatch<br>Web tests - Minimal configuration<br>Simplified syntax: Appium<br>Mobile tests: Protractor<br>Angular web app tests

section 2nd Generation - Web APIs & Node.js<br>High-level - Control from the browser
    2016: TestCafe<br>Web tests executed in a separate proxy
    2017: Cypress<br>Web tests executed in the same thread as the tested app

section 3rd Generation - Chrome DevTools Protocol<br>Low-level - Control via web sockets
    2019: Puppeteer<br>Headless web tests for Chrome only
    2020: Playwright<br>UI web tests

section 4th Generation - W3C WebDriver Bidi<br>Low-level - Control via web sockets
    2020: W3C WebDriver Bidi initiated
    2022: WebdriverIO v8
    2024: W3C WebDriver Bidi validated - Nightwatch v2
Loading
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment