Protractor v0.10.0 Release Notes

  • ๐Ÿš€ Note: Major version 0 releases are for initial development, and backwards incompatible changes may be introduced at any time.

    ๐Ÿ”‹ Features

    • (881759e) feat(timeouts): add a unique error message when waitForAngular times out

    To improve the readability of error messages, when waitForAngular times out it now produces a custom message. This should help clarify confusion ๐Ÿ“Š for pages that continually poll using $interval. This change also adds more ๐Ÿ“š documentation on timeouts. See issue #109.

    • ๐Ÿ‘ (37e0f1a) feat(install selenium): better communication in the install script

    โž• Adds better messages in the selenium server install script, and also ๐Ÿ‘‰ makes the script output a 'start' executable which can be used to quickly ๐Ÿ start up the selenium standalone. not yet windows friendly. Closes #108.

    • ๐ŸŒฒ (b32f5a5) feat(config): add examples for dealing with log-in

    โž• Adds examples for how to log in when the login page is not written in Angular. New examples are in spec/login.

    • (1b7675a) feat(cli): add an onPrepare callback to the config

    This onPrepare callback is useful when you want to do something with protractor before running the specs. For example, you might want to monkey-patch protractor with custom functions used by all the specs, or add the protractor instance to the globals. An example usage is shown in the spec/onPrepareConf.js file and its associated spec.

    ๐Ÿ› Bug fixes

    • (256b21c) fix(cli): allow passing the config file before the options

    The cli usage says:

    USAGE: protractor configFile [options] ๐Ÿ”€ However, the options passed as argument are merged into the default ๐Ÿ”ง configuration as soon as the configFile is met in the args parsing loop. ๐Ÿ”ง This fix merges the options in the default configuration only after the loop, allowing to pass the options to the cli before or after, or around the config file.

    • (6223825) fix(jasminewd): allow use of custom matchers

    Using jasmine.Matchers.prototype to generate the chained methods for expect() calls is flawed because it does not pick up custom matchers defined using addMatcher. Instead, use either the matchersClass for the current spec or from the environment.

    • ๐Ÿ”€ (c22fc38) fix(sync): getCurrentUrl and friends should sync with Angular first

    ๐Ÿ”€ getCurrentUrl, getPageSource, and getTitle should sync with Angular before executing. Closes #92.

    • (dd06756) fix(clientsidescripts): findElements and isElementPresent for protractor.By.select

    • (c607459) fix (navigation): The defer label should appear before other window names, not after.

    • (806f381) Fix: findElements() and isElementPresent() now work for protractor.By.input. Closes #79.

    ๐Ÿ’ฅ Breaking changes

    • (881759e) feat(timeouts): add a unique error message when waitForAngular times out

    โœ… This changes the default script timeout from 100 seconds down to 11. Tests 0๏ธโƒฃ which relied on extremely long timeouts will need to change the default script โฑ timeout with driver.manage().timeouts().setScriptTimeout(<bigNumber>).