Protractor is an end-to-end test framework for Angular and AngularJS applications. Protractor runs tests against your application running in a real browser, interacting with it as a user would. It is an end to end behavior-driven automation testing tool for web application testing which combines powerful technologies such as Jasmine, Selenium Webdriver, Node.js, etc.

The Protractor testing tool is a testing framework designed keeping Angular JS applications in mind. The Automatic Waiting feature removed the need to add waits and sleeps to testing. Protractor can automatically execute the next step in the test, the moment the webpage finishes pending tasks. So there’s no need to worry about waiting for tests and webpage to sync.

Protractor is a Node.js program built on top of WebDriverJS. Protractor uses WebDriverJS which is based on Selenium. So Protractor is not used instead of Selenium, but it is an extra layer on top of Selenium to make testing AngularJS applications easier.