Protractor v2.1.0 Release Notes
-
⬆️ Dependency Version Upgrades
- (25b1fa0) feat(jasmine): update jasmine dependency to 2.3.1
Updated from 2.1.1. See Jasmine's changelog at https://github.com/jasmine/jasmine/tree/master/release_notes
Closes #1795. Closes #2094. Closes #1768.
- (25e3b86) chore(chromedrivier): Update chromedriver to 2.15
🔋 Features
- (45341c9) feat(explorer): allow element explorer to start as a server
If element explorer is run with a port (i.e. --debuggerServerPort 1234), it will start up a server that listens to command from the port instead of a repl that listens to process.stdin.
(cf9a26f) feat(plugins): allow plugins.postTest to know what test just ran
(0f80696) feat(plugins): inline plugins
(de49969) feat(debugger): make element explorer work with node 0.12.0
Node has changed its debugger significantly in 0.12.0, and these changes are necessary to get it to work now.
Specifically here are the key points to take note:
Before, the process continues running after
process._debugProcess(pid);
is called, but now, the process stops.To over come this, the call to
process._debugProcess(pid)
is moved from protractor into the debugger client. Secondly, because the process stops after the call, we callreqContinue
once the debugger connection is established, so that protractor continues into the first break point (for backwards compatibility, we added an extra empty webdriver command so that in earlier versions of node, protractor doesn't go past the first break point from the reqContinue).Before repl provides '(foobar\n)' when an user inputs 'foobar'. Now it is just 'foobar\n'.
We will parse and strip away both the parenthesis and '\n' to support all versions of node.
Additionally (non-related to node 0.12.0), this change makes debugger processes fail fast if the port is taken.
- (7b96db0) feat(browser.get): Return a promise that handles errors in browser.get
🐛 Bug Fixes
- (815ff5d) fix(jasmine2): be consistent about passing assertions in output JSON
See #2051
- (e6e668c) chore(jasmine): update jasminewd2 to 0.0.4
This improves the control flow schedule messages for debugging and fixes an issue with the
this
variable inside tests. See https://github.com/angular/jasminewd/issues/22- (e599cf3) fix(taskscheduler): label sharded tasks with numbers instead of letters
Letters run into a problem with a maximum of 26. See #2042
- (fda3236) fix(config): add sauceAgent property to protractor config
Closes #2040
(fa699b8) fix(debugger): fix 'getControlFlowText()' broken in webdriver 2.45
(b783dd8) fix(browser): remove subsequent duplicate module
browser.removeMockModule() misses next duplicate module because of iteration over an array it's modifying.
(e3d4ad1) fix(stacktrace): remove jasmine2 specific stacktraces
(3cded9b) fix(locators): escape query in byExactBinding
See http://stackoverflow.com/q/3561711
Closes #1918
- (e18d499) fix(cucumber): process no-snippets param for cucumber framework