NIGHTWATCH FOR TESTING NODEJS APPLICATIONS: 1. WHY NODEJS: • ▪ Increase of usage of client side technologies • Responsive and Light Weight dev. Technologies Ex: Javascript, AngularJs, ionic and react 2. WHY JAVASCRIPT AUTOMATION FRAMEWORKS: ✓ Automation framework along with application code ✓ Automation along with developer’s code ✓ Running BDD tests locally and on the Pull requests 3. Javascript Automation Tools: ▪ Webdriver IO, Nightwatch, protractor with CucumberJS. 4. MOST POPULAR JAVA SCRIPT BDD TEST FRAMEWORKS: ▪ Protractor, Webdriverio, NightwatchJs 5. Protractor: ✓ Its a wrapper of WebDriverJs ✓ Supports NodeJs ✓ AngularJs element identification ✓ Error reporting. ✓ Inbuilt Test runner ✓ Parallel Testing ✓ No support for `mobiles 6. WEBDRIVERIO: ✓ NodeJs supported ✓ WebDriverIO: is W3C webdriver API ✓ Supports CucumberJS ✓ Inbuilt Runner ✓ wdio.conf.js file ✓ Cloud extension ✓ Supports mobile web automation tesitng mobile Apps. Good Community 7. WHY NIGHTWATCH: ✓ Supports Node.js ✓ End-to-End (E2E) testing solution. ✓ Built-in test runner. ✓ Parallel Testing ✓ Cross Browser Testing ✓ Mobile Support ✓ Continuous integration tool ✓ Inbuilt screenshots ✓ Inbuilt Assertion Library ✓ Page Object Pattern ✓ aliases for locators (@username) ✓ Cloud extension • WebdriverIO apis ✓ Easy to extend ✓ Very Good Community 8. Nightwatch: ✓ NightwatchJS has it’s own implementation of the selenium WebDriver. And provides it’s own testing framework with a test server, assertions, and tools. ✓ Framework- Can be used with other frameworks too, but can be especially useful in case you want to run functional tests not as part of other framework. ✓ Syntax- looks the easiest and the most readable. CONS OF NIGHTWATCHJS ✓ Return value methods should only use call backs ✓ Call backs should given for every steps 9. COMPARISON OF TOOLS and CONCLUSION: HERO of the Javascript Frameworks because: For an E2E Testing, the webdrive.io, is still evolving, Nightwatch will be a great and also is easy to use the framework Also it has very good inbuilt Debugging mechanism. Hence, Nightwatch is good for the E2E Testing NightWatchJS is itself is test runner, framework and having its own assertion library