All Versions
Latest Version
Avg Release Cycle
136 days
Latest Release
1119 days ago

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, change getPageTimeout: timeout_in_millis in the configuration. As before, you may also change the timeout for one particular get 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)
  • 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-rc3 Changes

    ๐Ÿ”‹ Features

    • (f0e7984) feat(launcher): append capability tag for all output

    ๐Ÿ› Bug Fixes

    • (1198dde) fix(navigation): use empty html data urls for page resets instead of about:blank

    Except on internet explorer, which does not allow data urls.

    Closes #1023.

  • 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


    • (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


    • (6641c81) fix(launcher): report summary when specs fail

    • (36e0e0a) fix(protractor): allow exceptions from actions to be catchable


    • (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


    • 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

    • (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

    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:

    ๐Ÿ› 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 into Error 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(),
                  and element(By.x).element(By.y).getWebElements(),
      • browser.findElement returns a raw WebElement so $, $$, and evaluate will no longer be available

    • (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.selectedOption
    • by.textarea

    input, select, and textarea can be replaced by by.model.

    element(by.selectedOption('foo')) can be replaced by element(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.