Protractor is an end-to-end test framework for AngularJS applications. Protractor is a Node.js program built on top of WebDriverJS. Protractor runs tests against your application running in a real browser, interacting with it as a user would.
Protractor 4 is compatible with nodejs v4 and newer. If you absolutely need to use nodejs at 0.12, use Protractor@2.
Protractor works with Angular versions greater than 1.0.6/1.1.4, and is compatible with Angular 2 applications. Note that for Angular 2 apps, the binding
and model
locators are not supported. We recommend using by.css
.
The Protractor documentation for users is located in the protractor/docs folder.
To get set up and running quickly:
- The Protractor Website
- Work through the Tutorial
- Take a look at the Table of Contents
Once you are familiar with the tutorial, you’re ready to move on. To modify your environment, see the Protractor Setup docs. To start writing tests, see the Protractor Tests docs.
To better understand how Protractor works with the Selenium WebDriver and Selenium Server see the reference materials.
Check the Protractor FAQ and read through the Top 20 questions on StackOverflow.
Please ask usage and debugging questions on StackOverflow (use the "protractor" tag), the Gitter chat room, or in the Angular discussion group. (Please do not ask support questions here on Github.)
Clone the github repository:
git clone https://github.com/angular/protractor.git
cd protractor
npm install
./bin/webdriver-manager update
cd website
npm install
cd ..
Start up a selenium server. By default, the tests expect the selenium server to be running at http://localhost:4444/wd/hub
. A selenium server can be started with webdriver-manager which is included in
bin/webdriver-manager.
webdriver-manager update
webdriver-manager start
Protractor's test suite runs against the included test application.
Install the test application dependencies with:
npm run install_testapp
Start that up with
npm start
Then run the tests with
npm test