E2E test framework for Angular apps
JavaScript TypeScript HTML Other
Latest commit 6a4dc7a Jan 12, 2017 @DevVersion DevVersion committed with mgiambalvo fix: no longer use es6 let statement (#3963)
* Currently in Protractor v5 the Angular detection script uses ES6 features like the `let` modifier. 

This can break Protractor on browsers, which doesn't support those statements. 
> See https://saucelabs.com/beta/tests/275f75091dac40a0a3374d29d912caee/commands#11
Permalink
Failed to load latest commit information.
.github chore(docs): add test app link to issue template (#3843) Dec 20, 2016
bin feat(webdriver): extract webdriver-manager into a separate node module ( Jun 8, 2016
debugging chore(jasmine): remove jasmine 1.3 Nov 3, 2015
docs chore(cleanup): remove cucumber since it is a custom framework (#3919) Jan 5, 2017
example docs(example/conf.js): typo fix 'directly' -> 'directory' Mar 8, 2016
exampleTypescript deps(update): move @types/jasmine to devDependencies (#3795) Dec 29, 2016
lib fix: no longer use es6 let statement (#3963) Jan 12, 2017
scripts chore(local): if no local drivers provided in config, use update-conf… Jan 6, 2017
spec fix(expectedCondition): fix NoSuchElementError in visibilityOf due to… Jan 12, 2017
stress chore(jasmine): remove jasmine 1.3 Nov 3, 2015
testapp chore(release): Version bump and changelog for 4.0.12 Dec 8, 2016
website feat(mobile): add extended wd commands for appium (#3860) Dec 29, 2016
.clang-format chore(clang-format): increase ColumnLimit to 100 (#3682) Oct 28, 2016
.gitattributes chore(eol): normalize all the line endings Sep 29, 2014
.gitignore chore(repo): organize ignore files (#3841) Dec 19, 2016
.jshintrc chore(cleanup): jshint cleanup for spec (#3800) Dec 7, 2016
.npmignore chore: add svg logo to the repo (#3923) Jan 3, 2017
.travis.yml deps(selenium-webdriver): upgrade to selenium 3 (#3781) Dec 29, 2016
CHANGELOG.md chore(release): version bump and update changelog (#3942) Jan 9, 2017
CONTRIBUTING.md docs(contributing): change wording for merging (#3405) Jul 21, 2016
LICENSE chore(release): version bump and update changelog (#3942) Jan 9, 2017
README.md chore(readme): use svg status shield for Travis (#3706) Nov 7, 2016
circle.yml chore(dependency): switch to webdriver-manager 11.1.0 and remove `--v… Dec 29, 2016
gulpfile.js feat(mobile): add extended wd commands for appium (#3860) Dec 29, 2016
logo.svg chore: add svg logo to the repo (#3923) Jan 3, 2017
package.json chore(release): version bump and update changelog (#3942) Jan 9, 2017
release.md docs(release): Update release.md (#3722) Nov 9, 2016
tsconfig.json feat(blockingproxy): Add synchronization with BlockingProxy. (#3813) Dec 29, 2016
tslint.json chore(tslint): add tslint to gulpfile (#3833) Dec 20, 2016

README.md

Protractor Build Status CircleCI Status Join the chat at https://gitter.im/angular/protractor

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.

Compatibility

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.

Getting Started

The Protractor documentation for users is located in the protractor/docs folder.

To get set up and running quickly:

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.

Getting Help

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.)

For Contributors

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