Changelog History
Page 7
-
v1.0.0-rc6 Changes
โฌ๏ธ Dependency Version Upgrades
- (b6ab644) chore(jasminewd): update to version 1.0.4
This version contains a fix for too many timeout messages.
๐ Bug Fixes
- (0c4a70e) fix(protractor) fix stack traces for WebElement errors
When angular/[email protected] refactored
element()
into the ElementFinder object, the function lost some of its error handling. This removed references to frames inside tests (it()
blocks), making it hard to tell where the error was actually occurring.This commit fixes these problems, showing full stack traces for WebElement errors.
-
v1.0.0-rc5 Changes
๐ Features
- (51a5e89) feat(config): allow setting the get page timeout globally from the config
To change the timeout for how long a page is allowed to stall on
browser.get
, changegetPageTimeout: timeout_in_millis
in the configuration. As before, you may also change the timeout for one particularget
call by using a second parameter:browser.get(url, timeout_in_sec)
๐ Bug Fixes
- (985ff27) fix(configParser): load new functions from configs
Closes #1043
๐ฅ Breaking Changes
- (51a5e89) feat(config): allow setting the get page timeout globally from the config
This change contains a small breaking change for consistency. Previously, the second parameter to
get
changed the timeout in seconds. Now, the units are milliseconds. This is consistent with all the other timeouts, as well as base JavaScript functions like setTimeout.- before:
browser.get(url, 4)
- after:
browser.get(url, 4000)
- after:
-
v1.0.0-rc4 Changes
๐ Bug Fixes
- (ab1d0be) fix(navigation): fix using browser.get with safari driver
SafariDriver fails with data urls - see #1049. Reverting to use about:blank for now.
-
v1.0.0-rc2 Changes
โก๏ธ Dependency Version Updates
- (e10e1a4) chore(minijasminenode): update minijasminenode dependency to v1.1.0
This adds several options for the reporter, which can be included in protractor's
config.jasmineNodeOpts
// If true, output nothing to the terminal. Overrides other printing options. silent: false, // If true, print timestamps for failures showTiming: true, // Print failures in real time. realtimeFailure: false
- (be0bb00) chore(jasminewd): update jasminewd to v1.0.3
This fixes extra logging when a timeout occurs.
๐ Features
(82c1d47) feat(protractor): add iteration index to ElementArrayFinder.each
(62bcf7e) feat(webdriver-manager): minor proxy enhancements
Added error handling for request - previously, any errors coming from the request module were silently swallowed.
Fixed error handling to remove empty files when a download fails for some reason.
Also evaluating both uppercase and lowercase proxy variables. Many tools use proxy variables in the form https_proxy, others use HTTPS_PROXY.
๐ Bug Fixes
- (dbf7ab5) fix(mocha): mocha globals should be re-wrapped for every new suite
Closes #523, closes #962
-
v1.0.0-rc1 Changes
โก๏ธ Dependency Version Updates
- (0dc0421) chore(selenium): version bumps to selenium 2.42.2
๐ Features
(6906c93) feat(webdriver-manager): use proxy for webdriver-manager
(7d90880) feat(locators): implement by.options
(4e1cfe5) feature(launcher): aggregate failures at the end and output message from the launcher
(ff3d5eb) feat(locators): add toString() wrapper for this.message
(c892c2a) feat(protractor): implement reduce and filter for ElementArrayFinder
See https://github.com/angular/protractor/issues/877
- (8920028) feat(pause): allow the user to specify a port to be used for debugging
Using browser.pause(portNumber) will now start the debugger on the specified port number.
Closes #956
๐ Bug Fixes
- (f9082d0) fix(clientsidescripts): make exactBinding more exact
See https://github.com/angular/protractor/issues/925
(6641c81) fix(launcher): report summary when specs fail
(36e0e0a) fix(protractor): allow exceptions from actions to be catchable
See https://github.com/angular/protractor/issues/959
- (e86eb72) fix(protractor): removing a mock module that was never added now is a noop
It used to remove the last module - now is a noop.
Closes #764
- (bf26f76) fix(locators): findind elements by text should trim whitespace
WebDriver always trims whitespace from around the text of an element, so to be consistent we should trim the text from button elements before doing a by.buttonText.
Closes #903, Closes #904.
- (48798b0) fix(elementexplorer): element.all hangs in interactive mode
-
v0.24.2 Changes
๐ Note: Major version 0 releases are for initial development, and backwards incompatible changes may be introduced at any time.
๐ Bug Fixes
(a43f983) fix(protractor): make ElementFinder.then resolve to itself instead of null
(31d42a3) fix(protractor): throw index-out-of-bounds
See https://github.com/angular/protractor/issues/915
- to make error more specific instead of propagate later
-
v0.24.1 Changes
๐ Note: Major version 0 releases are for initial development, and backwards incompatible changes may be introduced at any time.
๐ Bug Fixes
- (59af936) fix(locators): Missing information in warning/error messages
Webdriver's built-in locators (such as
by.css()
) appeared as 'undefined' in protractor's messages.For instance, if a locator matched multiple elements, protractor would print the following message: 'warning: more than one element found for locator undefined- you may need to be more specific'.
- (13373f5) fix(launcher): output error messages when child processes exit with error
Version 0.24.0 introduced a bug where child processes would error without outputting the error message. Fix. See #902.
- (72668fe) fix(cssShortcut): fix $$ global throwing error
-
v0.24.0 Changes
๐ Note: Major version 0 releases are for initial development, and backwards incompatible changes may be introduced at any time.
๐ Features
(7299155) feat(sauceprovider): append spec filename to capabilities.name
(f22456d) refactor(jasminewd): use jasminewd from its own node module
The Jasmine Webdriver Adapter is now its own npm module. The code has been moved to http://www.github.com/angular/jasminewd.
Remove the code from Protractor, and add a dependency on [email protected].
(f23565d) feat(protractor): new API allowAnimations(bool) on protractor elements.
(876a3c0) feat(runner): support running dart2js spec files
This commit supports running Dart2JS output in NodeJS. Officially, Dart2JS in supposed to only generate code for running in a real webbrowser. With this patch, the dart2js code can also be executed in NodeJS.
- (8d46e21) feat(runner): support sourcemaps in spec files
This feature allows folks who are generating their spec files from a different language to see stack traces that use the line numbers from their sources before translation.
This commit introduces a dependency on the
source-map-support
library.For general information about sourcemaps, refer:
- http://www.html5rocks.com/en/tutorials/developertools/sourcemaps/
- https://github.com/evanw/node-source-map-support
- https://docs.google.com/document/d/1U1RGAehQwRypUTovF1KRlpiOFze0b-_2gc6fAH0KY0k/view
๐ Bug Fixes
- (56daa54) fix(clientsidescripts): convert non-Error exceptions to Errors
If any functions called by clientSideScripts throws a an exception that doesn't inherit from
Error
, the stack trace is completely unhelpful and the message is just "unknown error."ย This commit wraps such errors intoError
instances so that we have meaningful stack traces and the correct exception message.ย (e.g. This is the common case when running dart2js code.ย This commit gives us the Dart stack trace and exception message.)In addition, I've pushed the construction of the string to install into the browser into clientsidescripts.js.
- (00c6abe) fix(element): fix WebElement.$ using the incorrect By object
Closes #852
- (0500b2c) fix(navigation): ignore unknown JS errors when looking for the URL
This should address #841
Ignoring the error and trying again has worked for all of my test cases, and the error has never occurred more than once in a row.
- (c8c85e0) fix(locators): fix by.repeater finding all rows for IE
Previously, element.all(by.repeater('foo in foos')) would find non-element nodes for ng-repeat-start elements, which could cause IEDriver to fall over if the test tried to get text from those nodes.
๐ฅ Breaking Changes
(3c0e727) refactor(protractor): reorganize internal structure of elementFinder/webelement
- Allow chaining of actions (i.e.
element(By.x).clear().sendKeys('abc')
) - first(), last(), and get(index) are not executed immediately, allowing them to be placed in page objects
- Rework the way that elementFinder and wrappedWebElement is represented
- Breaking changes:
element.all is chained differently
Before: element(By.x).element.all(By.y) Now: element(By.x).all(By.y) However, using element.all without chaining did not change, i.e. `element.all(By.x)`
Changed the way for retrieving underlying webElements
Before: element(By.x).find(), element(By.x).findElement(By.y), and element(By.x).findElements(By.y) Now: element(By.x).getWebElement(), element(By.x).element(By.y).getWebElement(), and element(By.x).element(By.y).getWebElements(), respectively
browser.findElement returns a raw WebElement so $, $$, and evaluate will no longer be available
- Allow chaining of actions (i.e.
(fbfc72b) feat(launcher): Add support for maxSession
- add support for maxSession and capability-specific specs
- cleaned up launcher (refactored out taskScheduler.js)
- Breaking change:
- changed the config to shard test files; also sharding is specific to
capabilities now
Before: config.splitTestsBetweenCapabilities Now: config.capabilities.shardTestFiles or config.multiCapabilities[index].shardTestFiles
(9e5d9e4) feat(locators): remove deprecated locator APIs
This is a breaking change. The following deprecated Locator APIs have been removed.
by.input
by.select
by.selectedOption
by.textarea
input
,select
, andtextarea
can be replaced byby.model
.element(by.selectedOption('foo'))
can be replaced byelement(by.model('foo')).$('option:checked')
-
v0.23.1 Changes
๐ Note: Major version 0 releases are for initial development, and backwards incompatible changes may be introduced at any time.
๐ Bug Fixes
- (59533d9) fix(navigation): revert changes to the page reset
Navigating to an empty data URL won't work for internet explorer, sadly.
Reverting to about:blank. Will watch for flakes and explore other options.