Protractor v6.0.0 Release NotesRelease Date: 2019-03-23 // 9 months ago
👀 Selenium 4 removes the control flow and most of these changes are based on those changes. To see the full list of changes, please refer to selenium-webdriver's CHANGELOG
💥 Breaking changes
- 🚚 Control flow is removed and you should use async await to run your tests.
- Other control flow related items:
- debugger, explore and element explorer have been removed
- jasminewd is no longer a dependency
- 🗄 ignoreSynchronization has been deprecated and you should use
- Types for selenium-webdriver are currently in the types/ directory and are not complete. We are still missing some type definitions for selenium 4.
- ✅ Actions API in selenium-webdriver have changed and they will break your test. Also we have not exported it yet since the type definitions are not complete.
(cf43651) chore(debugprint): convert debugprint to TypeScript (#5074)
(4672265) chore(browser): remove timing issues with restart and fork (#5085)
- remove .ready since forking should automatically return a browser
- getNewDriver should return a promised WebDriver that can be awaited
- fix interaction tests and local driver tests
- update unit tests for async await due to getNewDriver fix closes #5031
(b4dbcc2) chore(elementexplorer): remove explorer bin file (#5094)
(3b8f263) chore(ignoreSynchornization): clean up to use waitForAngularEnabled (#5071)
(ffa3519) chore(debugger): remove debugger and explore methods (#5070)
(c9db3f3) chore(promises): remove q promises and webdriver promises (#5052)
- remove q promises and webdriver promises from the runner, launcher, plugins, and taskRunner
- add deprecated message to element explorer.
- add unhandledRejection
- update browser versions used in travis tests
(e22065c) chore(promises): clean up driver providers and browser control flow (#5034)
Driver providers and tests:
- Use native promises over q promises in driver providers
Remove driverProviderUseExistingWebDriver since the generation of the selenium server is already accomplished when providing a selenium address in driverProvider.ts. Also clean up docs and tests.
Enabled the driverProviderLocal tests
Clean up JSDocs for q.promise Basic lib spec:
Remove auto unwrap test for a WebElement. Reference PR #3471 Browser:
Remove control flow from waitForAngularEnabled, waitForAngular, and angularAppRoot in the Browser class.
(96ae17c) deps(jasmine): upgrade jasmine 3.3 (#5102)
(d213aa9) deps(selenium): upgrade to selenium 4 (#5095)
- elements workaround for WebElement.equals
- added a better unhandled rejection warning message in the launcher control flow)bal function wrappers for mocha (these wrappers went away with
- fix the attach to session driver provider Typing exported from Protractor:
- removed ActionSequence and EventEmitter (actions is currently missing)
- removed promise.Promise fulfilled, filter, whener, delayed, createFlow, controlFlow, all, Typings exported from WebDriver:
- removed attachToSession
- removed WebDriver instance methods: touchActions, call
- removed WebElement getSize and getLocation for getRect
- removed redefined global vars for testing
- In the typings, we are missing Options.setScriptTimeout method. This should not impact users unless they are using the driver.manage() method. Tests:
- fix element equals test
- add missing 'await' in colorList test that is causing unhandled promise rejections.
- remove control flow related tests
- disable the install test. Installing from "file:../../" is not working.
- fix the attach to session driver provider test to exit with a 1 if errors are encountered
(509f1b2) deps(latest): upgrade to the gulp and typescript (#5089)
- deps(latest): upgrade to the gulp and typescript
- add in @types/loglevel and @types/yargs for webdriver-manager
- upgrade tslint clean up for tslint supported by gulpp 4 and remove run sequence since this feature is
- remove compile to es5
(2def202) deps(webdriver-manager): use replacement (#5088)
publish a beta release of use webdriver-manager-replacement until we webdriver-manager closes #5087
🚚 Minor fixes to remove the control flow completely and to prevent random execution order in Jasmine 3.
Previous changes from v5.4.2
- (db1b638) feat(saucelabs): add sauceRegion support for eu datacenters (#5083)
This change allows user to define the backend region from sauce via the
sauceUser: process.env.SAUCE_USERNAME, sauceKey: process.env.SAUCE_ACCESS_KEY, sauceRegion: 'eu',
Will run the test against
sauceUser: process.env.SAUCE_USERNAME, sauceKey: process.env.SAUCE_ACCESS_KEY, sauceRegion: 'us', // the default sauceUser: process.env.SAUCE_USERNAME, sauceKey: process.env.SAUCE_ACCESS_KEY,
Will run the test against https://ondemand.saucelabs.com:443/wd/hub/
- (f5dbe13) fix(deps): @types/node is now a dev dependency