Protractor (http://www.protractortest.org) is an open source e2e testing automation framework, designed specifically for Angular web applications. The Protractor is a Node.js tool built on the top of WebDriverJS--an official implementation of the W3C WebDriver API to interact with the browser.
Protractor has many advantages. You no longer need to add waits and sleeps to your test for pending tasks. Protractor can automatically execute the next step in your test at the moment the web page finishes asynchronous tasks (for example, AJAX updates). The framework also supports Angular's locator strategies, which allows you to find Angular-specific elements by binding, model, and so on, without much effort. This section gives a brief introduction to Protractor including the setup and specific testing constructs.