1 | Contributing
|
2 | ============
|
3 |
|
4 | Questions
|
5 | ---------
|
6 |
|
7 | Please first read through the [FAQ](https://github.com/angular/protractor/blob/master/docs/faq.md).
|
8 |
|
9 | Please ask questions on [StackOverflow](http://stackoverflow.com/questions/tagged/protractor), [Google Group discussion list](https://groups.google.com/forum/?fromgroups#!forum/angular), or [Gitter](https://gitter.im/angular/protractor).
|
10 |
|
11 | Any questions posted to Protractor's Github Issues will be closed with this note:
|
12 |
|
13 | Please direct general support questions like this one to an appropriate support channel, see https://github.com/angular/protractor/blob/master/CONTRIBUTING.md#questions
|
14 |
|
15 | Thank you!
|
16 |
|
17 |
|
18 | Issues
|
19 | ======
|
20 |
|
21 | If you have a bug or feature request, please file an issue.
|
22 | Before submitting an issue, please search the issue archive to help reduce duplicates, and read the
|
23 | [FAQ](https://github.com/angular/protractor/blob/master/docs/faq.md).
|
24 |
|
25 | Try running with troubleshooting messages (`protractor --troubleshoot`) against your configuration to make sure that there is not an error with your setup.
|
26 |
|
27 | When submitting an issue, please include a reproducible case that we can actually run. Protractor has a test Angular application available at `http://www.protractortest.org/testapp` which you can use for the reproducible test case. If there's an error, please include the error text.
|
28 |
|
29 | Please format code and markup in your issue using [github markdown](https://help.github.com/articles/github-flavored-markdown).
|
30 |
|
31 |
|
32 | Contributing to Source Code (Pull Requests)
|
33 | ===========================================
|
34 |
|
35 | Loosely, follow the [Angular contribution rules](https://github.com/angular/angular.js/blob/master/CONTRIBUTING.md).
|
36 |
|
37 | * If your PR changes any behavior or fixes an issue, it should have an associated test.
|
38 | * New features should be general and as simple as possible.
|
39 | * Breaking changes should be avoided if possible.
|
40 | * All pull requests require review. No PR will be merged without a comment from a team member stating LGTM (Looks good to me).
|
41 |
|
42 | Protractor specific rules
|
43 | -------------------------
|
44 |
|
45 | * JavaScript style should generally follow the [Google JS style guide](https://google.github.io/styleguide/javascriptguide.xml).
|
46 | * Wrap code at 80 chars.
|
47 | * Document public methods with jsdoc.
|
48 | * Be consistent with the code around you!
|
49 |
|
50 | Commit Messages
|
51 | ---------------
|
52 |
|
53 | Please write meaningful commit messages - they are used to generate the changelog, so the commit message should tell a user everything they need to know about a commit. Protractor follows AngularJS's [commit message format](https://docs.google.com/a/google.com/document/d/1QrDFcIiPjSLDn3EL15IJygNPiHORgU1_OOAqWjiDU5Y/edit#heading=h.z8a3t6ehl060).
|
54 |
|
55 | In summary, this style is
|
56 |
|
57 | <type>(<scope>): <subject>
|
58 | <BLANK LINE>
|
59 | <body>
|
60 |
|
61 | Where `<type>` is one of [feat, fix, docs, refactor, test, chore, deps] and
|
62 | `<scope>` is a quick descriptor of the location of the change, such as cli, clientSideScripts, element.
|
63 |
|
64 | Testing your changes
|
65 | --------------------
|
66 |
|
67 | Test your changes on your machine by running `npm start` to start up the test application,
|
68 | then `npm test` to run the test suite. This assumes you have a Selenium Server running
|
69 | at localhost:4444.
|
70 |
|
71 | When you submit a PR, tests will also be run on the Continuous Integration environment
|
72 | through Travis. If your tests fail on Travis, take a look at the logs - if the failures
|
73 | are known flakes in Internet Explorer or Safari you can ignore them, but otherwise
|
74 | Travis should pass.
|