serenity-js

A next generation, full-stack acceptance testing framework optimised for collaboration, speed and scale!

APACHE-2.0 License

Downloads
412.4K
Stars
535
Committers
57

Bot releases are visible (Hide)

serenity-js - v2.33.10

Published by github-actions[bot] over 2 years ago

2.33.10 (2022-07-19)

Bug Fixes

serenity-js - v3.0.0-rc.22

Published by github-actions[bot] over 2 years ago

3.0.0-rc.22 (2022-07-15)

Bug Fixes

  • core: ensure all async operations complete before attempting to dismiss the actors (635cd9a), closes #1236
  • core: further improvements to stage/actor synchronisation (1e2e6fb)
  • web: improved reliability of PageElementLocator for WebdriverIO and Protractor (b19d19a), closes #805

Features

  • assertions: isCloseTo(expected, tolerance) (bb0e935)
serenity-js - v3.0.0-rc.21

Published by github-actions[bot] over 2 years ago

3.0.0-rc.21 (2022-07-11)

Bug Fixes

  • web: corrected promise handling to avoid the unhandled promise rejection warning (daac705)
serenity-js - v3.0.0-rc.20

Published by github-actions[bot] over 2 years ago

3.0.0-rc.20 (2022-07-11)

Bug Fixes

  • core: corrected Wait so that polling stops when the timeout expires (60677e7)
  • protractor: isVisible check for ProtractorPageElement returns false for non-existent elements (e64eee3), closes #1236
  • webdriverio: improved resiliency of the WebdriverIOPuppeteerModalDialogHandler (5e56edf), closes #805
  • webdriverio: updated WebdriverIO dependencies (0833a3c)
  • web: improved JavaScript dialog-related error handling when taking screenshots (3cd1149), closes puppeteer/puppeteer#2481 #1156
  • web: removed dependency on is-plain-object (cbe76a6)
  • web: renamed PagesContext to BrowsingSession to make the name more descriptive (6b4e998), closes #1236

Features

  • core: interaction to Wait stops upon errors (56ff3eb), closes #1035
  • core: interactions to Wait.for and Wait.until are now browser-independent (d115142), closes #1035 #1236
  • core: minimum timeout and polling interval guards for Wait (fd53d81), closes #1035
  • playwright: configurable navigation and interaction timeouts for BrowseTheWebWithPlaywright (142b78e), closes #1236
  • playwright: configurable navigation waitUntil timeout (2458fcb), closes #1236
  • playwright: initial support for Playwright (87e88a1), closes #493 #563 #911
  • playwright: interaction to Select option(s) from a dropdown (009041d), closes #1236
  • playwright: interactions to Scroll, Press, and TakeScreenshot (1c039d2), closes #493 #563 #911
  • playwright: isActive check for PlaywrightPageElement (dbf44eb), closes #1236
  • playwright: support for executing in-browser JavaScript (630bedd), closes #493 #563 #911
  • playwright: support for isClickable (afc8587), closes #1236
  • playwright: support for isVisible, plus consistent visibility checks across the board (2c5c929), closes #1236
  • playwright: support for working with cookies (1215a8f), closes #1237
  • playwright: support for working with frames (89d4621), closes #1236
  • web: introduced PagesContext and implemented PlaywrightPage (0045a72), closes #1236
  • web: new portable APIs to handle ModalDialog windows (c94d0ec), closes #1236 #805 #1156
  • web: standardised support for deep CSS selectors across the Web integration modules (e9e3f28), closes #1238
serenity-js - v3.0.0-rc.19

Published by github-actions[bot] over 2 years ago

3.0.0-rc.19 (2022-06-11)

Bug Fixes

Features

  • core: Question.fromObject() generates questions from plain objects with nested Answerables (3113f20), closes #1219
serenity-js - v3.0.0-rc.18

Published by github-actions[bot] over 2 years ago

3.0.0-rc.18 (2022-06-06)

Bug Fixes

Features

  • core: further improvements to Notepad (c0d4c0a), closes #1220

3.0.0-rc.17 (2022-06-02)

Bug Fixes

  • core: corrected QuestionAdapter to improve support for any type (9bed585)

Features

  • core: Screenplay-style Dictionary to help resolve objects with nested Questions (6a66778), closes #1219
  • core: type-safe Notepad and improved notes() DSL with support for QuestionAdapters (04c5397), closes #1220
  • rest: all HTTP requests accept DynamicRecord (c28b47c), closes #463

3.0.0-rc.16 (2022-04-15)

Features

  • core: get the number of notes stored in the notepad with Notepad#size() (a5c00b9)
  • core: improved support for recording and reading notes (6afc610), closes #817

BREAKING CHANGES

  • core: This implementation replaces the previous implementations of TakeNote, TakeNotes
    and Note, so tests using those interfaces will need to be updated.

3.0.0-rc.15 (2022-04-10)

Bug Fixes

  • web: corrected an inefficient regular expression in By selector description generator (1b537d2)
  • web: replaced legacy PromiseLike return types with native Promise types (436b3cb)

3.0.0-rc.14 (2022-03-28)

Bug Fixes

  • web: auto-generated descriptions of nested PageElements are easier to read (5a51d91)
  • web: corrected return types of question about Selected page elements (b32f280)

Features

  • web: Attribute.called(name).of(pageElement) returns a QuestionAdapter (e220665)
  • web: CssClasses.of(pageElement) returns a QuestionAdapter (0942887)
  • web: Value.of(pageElement) returns a QuestionAdapter (c45b483)

3.0.0-rc.13 (2022-03-02)

Features

3.0.0-rc.12 (2022-02-23)

Bug Fixes

  • serenity-bdd: downgraded to Serenity BDD CLI 3.1.0 (773786a), closes #1133

3.0.0-rc.11 (2022-02-13)

Bug Fixes

  • core: updated dependency on error-stack-parser (ea50285)
  • web: made the constructor of BrowseTheWeb protected, since it's an abstract class (dbfbed0)

Features

  • serenity-bdd: updated Serenity BDD CLI to 3.2.0, which introduces new HTML reports (9abdbd6)
  • web: support for working with frames and an interaction to Switch.to(frameOrPage) (ef73ef2), closes #805

3.0.0-rc.10 (2022-02-03)

3.0.0-rc.9 (2022-02-01)

Features

  • web: isVisible() works with Web elements in Shadow DOM (cf84fb0), closes #1085

3.0.0-rc.8 (2022-01-28)

Bug Fixes

  • core: ensure Question.about doesn't expose internal interfaces (4bfb6bc), closes #1106
  • webdriverio: corrected visibility of the browser field on BrowseTheWebWithWebdriverIO (0de725f)

3.0.0-rc.7 (2022-01-28)

Bug Fixes

  • core: removed deprecated interface DressingRoom; please use Cast instead (d68b44b)
  • core: removed deprecated interface WithStage (45d1c2b)
  • core: removed deprecated task to See.if (dd5e2f5)
  • cucumber: SECURITY: removed overrides for colors.js since the issue has now been addressed (481e327), closes cucumber/cucumber-js#1885

Features

  • assertions: isPresent works with any Optional (cea75dc), closes #1103
  • core: f and d question description formatters (c9f3fad)
  • core: replaced Adapter with QuestionAdapter and introduced Optional (8d84ad3), closes #1103
  • core: support for Optional chaining, expectation isPresent, refactored Expectations (1841ee5), closes #1099 #1099 #1103

3.0.0-rc.6 (2022-01-10)

3.0.0-rc.5 (2022-01-07)

Bug Fixes

  • core: screenplay Adapters will now correctly proxy calls to function-specific object keys (ad6f1e6)
  • jasmine: integrated with Jasmine 3.99.0 (7f03bb5)

Features

  • web: support for advanced PageElement locator patterns (c1ff8b7), closes #1084

3.0.0-rc.4 (2021-12-30)

Bug Fixes

  • core: you can now retrieve the .length property of an Array wrapped in an Adapter (c36e210)

Features

  • web: ElementExpectation makes it easier to define custom PageElement-related Expectations (92ebf7d)
  • web: Text.ofAll accepts mapped PageElements (5314246)

3.0.0-rc.3 (2021-12-29)

Bug Fixes

  • core: refactored Mappable so that it's easier to implement filters (176e0cd), closes #1074
  • core: removed interface Reducible since it's not used any more (1e9f23b)
  • deps: updated tiny-types to 1.17.0 (3187051)
  • examples: updated the examples to use the new PageElement, By, and .where APIs (54961a7), closes #805
  • rest: corrected LastResponse to wrap .status(), .body(), .header() and .headers() in Adapters (aab8e93), closes #1082
  • web: corrected synchronisation in Web questions and interactions (c3a0ad1)
  • web: Photographer skips taking a screenshot if the Window is closed (DevTools protocol) (b682577)
  • web: refactored Selector and NativeElementLocator classes to simplify the implementation (f0c8f11)
  • web: simplified the selectors (b167e42), closes #1074

Features

  • core: forEach for List and PageElements (4592fb7), closes #823
  • core: List supports custom collectors (cd3f2bc)
  • core: new implementation of List.where filters (45b3c80), closes #1074
  • core: support for Screenplay-style collection filters and mapping (List.where & .eachMappedTo) (3d3c02e), closes #1074
  • web: isVisible checks if the element is in viewport and not hidden behind other elements (429040f)
  • web: new PageElement retrieval model based on Selectors (48bd94f)
  • web: re-introduced PageElements.where DSL and universal By selectors (39fe0a1), closes #1081

3.0.0-rc.2 (2021-12-09)

Bug Fixes

  • lerna: corrected versions of internal deps (582b922)

3.0.0-rc.1 (2021-12-09)

Bug Fixes

  • examples: migrated Protractor TodoMVC example to Serenity/JS 3.0 (85a7cd9)
  • serenity-bdd: upgraded Serenity BDD CLI to 2.6.0 (93c32f2)

3.0.0-rc.0 (2021-12-08)

Bug Fixes

  • core: formatted can be configured to produce single- or multi-line descriptions (21145a3)
  • core: inspected produces a better description of functions used as parameters (15535c6)
  • core: 3.0 RC (469d54e), closes #805
  • core: answerProxy renamed to ProxyAnswer to better reflect its purpose (a98fe41)
  • core: corrected type defs of Question.as (681ce22)
  • core: exported createProxyAnswer to make it easier to use (5471989)
  • core: removed Loop as it will be replaced (0b63d27)
  • core: removed Property as it will be replaced by new Question (fd7fa10)
  • core: removed Transform and mapping functions as they'll be replaced with new Question (506eaea)
  • core: renamed "Model" type to "Adapter" to better reflect its purpose (b4ea7a1), closes #805
  • cucumber: support for recognising non-Serenity AssertionErrors in older version of Cucumber (31e9e99)
  • deps: updated WebdriverIO (9de63d4)
  • deps: web (b075b8e)
  • jasmine: upgraded Jasmine to 3.10.0 (707dbff), closes jasmine/jasmine#1939
  • protractor: fixed the interaction to Switch (762ca84)
  • protractor: lastScriptExecution.result() returns undefined instead of null for void functions (997d87a)
  • protractor: modernised ProtractorParam to return a Screenplay Model (43c2032)
  • protractor: removed interaction to ResizeBrowserWindow in favour of Page.setViewportSize() (b8e471d)
  • protractor: replaced obsolete "Window", replaced by "Page" in @serenity-js/web (a3442c4)
  • web: added missing export (c5ffc0a), closes #805
  • web: corrected timestamp rounding when retrieving the expiry date of a cookie (d636965)
  • webdriverio: ensure getLastScriptExecutionResult returns undefined for void functions (aa00dfd)
  • webdriverio: fixed synchronisation issue in ModalDialog (12324b2), closes #805
  • webdriverio: separated UIElement.hoverOver from UIElement.scrollIntoView (cf4ca2c)
  • webdriverio: updated WebdriverIO to 7.13.2 (ef79d19)
  • webdriverio: updated WebdriverIO to 7.16.7 (3316e29)
  • web: ensure all Web interactions extend the same base class (b358c0b)
  • web: fixed the interaction to Select (10b7b74)
  • web: optimised PhotoTakingStrategy (085b7f7)
  • web: removed Cookie as it will be re-implemented (cb3d081)
  • web: removed incorrect export (ebf80c0)
  • web: removed incorrect import (90cb025)
  • web: removed window-specific APIs from BrowseTheWeb that got replaced by Page (918f447), closes #805
  • web: renamed Element and associated classes to PageElement to avoid name conflicts (1e4204b)
  • web: renamed PageElementList to PageElements to improve readability (a9903a7), closes #805
  • web: standardised getters across PageElement implementations (336472b)
  • web: wordsmithing of interface names (5a1e76a)

Features

  • core: question.about creates a proxy around the answer to simplify the API (25e0841)
  • core: question.about produces "props" that proxy the methods of the underlying model (f771872)
  • protractor: compatibility with @serenity-js/web (9df4db2), closes #805
  • protractor: removed Protractor-specific Target implementations in favour of @serenity-js/web (5cfc7e5)
  • web: a common way to run the tests for all the web adapters (c7e584a)
  • web: added Page.viewportSize and Page.setViewportSize methods (4cabbe2)
  • web: all Screenplay APIs migrated from @serenity-js/webdriverio to @serenity-js/web (7b6b95d)
  • webdriverio: support for native WebdriverIO services (8d5ad22)
  • web: interaction to set a Cookie (c056439), closes #805
  • web: interaction to setViewportSize of a Page (dd7f180)
  • web: introduced UIElementQuestion to help ensure no NPEs in UI-related questions (fe29121)
  • web: migrated Photographer from @serenity-js/protractor to @serenity-js/web (4506dac), closes #805
  • web: ModalDialog available for both Protractor and WebdriverIO adapters (ef3c566), closes #805
  • web: new module @serenity-js/web to provide Web-related Screenplay Pattern APIs (bead861)
  • web: page provides an abstraction around browser window (2e70a3b)
  • web: Page.url() and Page.title() replace Website.url() and Website.title() (49fe009), closes #805
  • web: removed Target in favour of PageElement (69496c4), closes #805
  • web: support for switching browsing context (a73a635), closes #805
  • web: support for working with cookies (39cde6d), closes #805

BREAKING CHANGES

  • core: Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
    modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
serenity-js - v2.33.9

Published by github-actions[bot] over 2 years ago

2.33.9 (2022-06-02)

Bug Fixes

  • deps: update dependency @babel/parser to ^7.18.4 (b29ee5e)
serenity-js - v3.0.0-rc.17

Published by github-actions[bot] over 2 years ago

3.0.0-rc.17 (2022-06-02)

Bug Fixes

  • core: corrected QuestionAdapter to improve support for any type (9bed585)

Features

  • core: Screenplay-style Dictionary to help resolve objects with nested Questions (6a66778), closes #1219
  • core: type-safe Notepad and improved notes() DSL with support for QuestionAdapters (04c5397), closes #1220
  • rest: all HTTP requests accept DynamicRecord (c28b47c), closes #463
serenity-js - v2.33.8

Published by github-actions[bot] over 2 years ago

2.33.8 (2022-05-07)

Bug Fixes

  • deps: update dependency cli-table3 to ^0.6.2 (92d83ab)
  • deps: update dependency https-proxy-agent to ^5.0.1 (d07f00f)
  • deps: update dependency moment to ^2.29.3 (0676b72)
serenity-js - v2.33.7

Published by github-actions[bot] over 2 years ago

2.33.7 (2022-05-05)

Bug Fixes

  • deps: update dependency cli-table3 to ^0.6.2 (7762f8e)
  • deps: update dependency https-proxy-agent to ^5.0.1 (c738406)
  • deps: update dependency moment to ^2.29.3 (9a14e46)
serenity-js - v3.0.0-rc.16

Published by github-actions[bot] over 2 years ago

3.0.0-rc.16 (2022-04-15)

Features

  • core: get the number of notes stored in the notepad with Notepad#size() (a5c00b9)
  • core: improved support for recording and reading notes (6afc610), closes #817

BREAKING CHANGES

  • core: This implementation replaces the previous implementations of TakeNote, TakeNotes
    and Note, so tests using those interfaces will need to be updated.

3.0.0-rc.15 (2022-04-10)

Bug Fixes

  • web: corrected an inefficient regular expression in By selector description generator (1b537d2)
  • web: replaced legacy PromiseLike return types with native Promise types (436b3cb)

3.0.0-rc.14 (2022-03-28)

Bug Fixes

  • web: auto-generated descriptions of nested PageElements are easier to read (5a51d91)
  • web: corrected return types of question about Selected page elements (b32f280)

Features

  • web: Attribute.called(name).of(pageElement) returns a QuestionAdapter (e220665)
  • web: CssClasses.of(pageElement) returns a QuestionAdapter (0942887)
  • web: Value.of(pageElement) returns a QuestionAdapter (c45b483)

3.0.0-rc.13 (2022-03-02)

Features

3.0.0-rc.12 (2022-02-23)

Bug Fixes

  • serenity-bdd: downgraded to Serenity BDD CLI 3.1.0 (773786a), closes #1133

3.0.0-rc.11 (2022-02-13)

Bug Fixes

  • core: updated dependency on error-stack-parser (ea50285)
  • web: made the constructor of BrowseTheWeb protected, since it's an abstract class (dbfbed0)

Features

  • serenity-bdd: updated Serenity BDD CLI to 3.2.0, which introduces new HTML reports (9abdbd6)
  • web: support for working with frames and an interaction to Switch.to(frameOrPage) (ef73ef2), closes #805

3.0.0-rc.10 (2022-02-03)

3.0.0-rc.9 (2022-02-01)

Features

  • web: isVisible() works with Web elements in Shadow DOM (cf84fb0), closes #1085

3.0.0-rc.8 (2022-01-28)

Bug Fixes

  • core: ensure Question.about doesn't expose internal interfaces (4bfb6bc), closes #1106
  • webdriverio: corrected visibility of the browser field on BrowseTheWebWithWebdriverIO (0de725f)

3.0.0-rc.7 (2022-01-28)

Bug Fixes

  • core: removed deprecated interface DressingRoom; please use Cast instead (d68b44b)
  • core: removed deprecated interface WithStage (45d1c2b)
  • core: removed deprecated task to See.if (dd5e2f5)
  • cucumber: SECURITY: removed overrides for colors.js since the issue has now been addressed (481e327), closes cucumber/cucumber-js#1885

Features

  • assertions: isPresent works with any Optional (cea75dc), closes #1103
  • core: f and d question description formatters (c9f3fad)
  • core: replaced Adapter with QuestionAdapter and introduced Optional (8d84ad3), closes #1103
  • core: support for Optional chaining, expectation isPresent, refactored Expectations (1841ee5), closes #1099 #1099 #1103

3.0.0-rc.6 (2022-01-10)

3.0.0-rc.5 (2022-01-07)

Bug Fixes

  • core: screenplay Adapters will now correctly proxy calls to function-specific object keys (ad6f1e6)
  • jasmine: integrated with Jasmine 3.99.0 (7f03bb5)

Features

  • web: support for advanced PageElement locator patterns (c1ff8b7), closes #1084

3.0.0-rc.4 (2021-12-30)

Bug Fixes

  • core: you can now retrieve the .length property of an Array wrapped in an Adapter (c36e210)

Features

  • web: ElementExpectation makes it easier to define custom PageElement-related Expectations (92ebf7d)
  • web: Text.ofAll accepts mapped PageElements (5314246)

3.0.0-rc.3 (2021-12-29)

Bug Fixes

  • core: refactored Mappable so that it's easier to implement filters (176e0cd), closes #1074
  • core: removed interface Reducible since it's not used any more (1e9f23b)
  • deps: updated tiny-types to 1.17.0 (3187051)
  • examples: updated the examples to use the new PageElement, By, and .where APIs (54961a7), closes #805
  • rest: corrected LastResponse to wrap .status(), .body(), .header() and .headers() in Adapters (aab8e93), closes #1082
  • web: corrected synchronisation in Web questions and interactions (c3a0ad1)
  • web: Photographer skips taking a screenshot if the Window is closed (DevTools protocol) (b682577)
  • web: refactored Selector and NativeElementLocator classes to simplify the implementation (f0c8f11)
  • web: simplified the selectors (b167e42), closes #1074

Features

  • core: forEach for List and PageElements (4592fb7), closes #823
  • core: List supports custom collectors (cd3f2bc)
  • core: new implementation of List.where filters (45b3c80), closes #1074
  • core: support for Screenplay-style collection filters and mapping (List.where & .eachMappedTo) (3d3c02e), closes #1074
  • web: isVisible checks if the element is in viewport and not hidden behind other elements (429040f)
  • web: new PageElement retrieval model based on Selectors (48bd94f)
  • web: re-introduced PageElements.where DSL and universal By selectors (39fe0a1), closes #1081

3.0.0-rc.2 (2021-12-09)

Bug Fixes

  • lerna: corrected versions of internal deps (582b922)

3.0.0-rc.1 (2021-12-09)

Bug Fixes

  • examples: migrated Protractor TodoMVC example to Serenity/JS 3.0 (85a7cd9)
  • serenity-bdd: upgraded Serenity BDD CLI to 2.6.0 (93c32f2)

3.0.0-rc.0 (2021-12-08)

Bug Fixes

  • core: formatted can be configured to produce single- or multi-line descriptions (21145a3)
  • core: inspected produces a better description of functions used as parameters (15535c6)
  • core: 3.0 RC (469d54e), closes #805
  • core: answerProxy renamed to ProxyAnswer to better reflect its purpose (a98fe41)
  • core: corrected type defs of Question.as (681ce22)
  • core: exported createProxyAnswer to make it easier to use (5471989)
  • core: removed Loop as it will be replaced (0b63d27)
  • core: removed Property as it will be replaced by new Question (fd7fa10)
  • core: removed Transform and mapping functions as they'll be replaced with new Question (506eaea)
  • core: renamed "Model" type to "Adapter" to better reflect its purpose (b4ea7a1), closes #805
  • cucumber: support for recognising non-Serenity AssertionErrors in older version of Cucumber (31e9e99)
  • deps: updated WebdriverIO (9de63d4)
  • deps: web (b075b8e)
  • jasmine: upgraded Jasmine to 3.10.0 (707dbff), closes jasmine/jasmine#1939
  • protractor: fixed the interaction to Switch (762ca84)
  • protractor: lastScriptExecution.result() returns undefined instead of null for void functions (997d87a)
  • protractor: modernised ProtractorParam to return a Screenplay Model (43c2032)
  • protractor: removed interaction to ResizeBrowserWindow in favour of Page.setViewportSize() (b8e471d)
  • protractor: replaced obsolete "Window", replaced by "Page" in @serenity-js/web (a3442c4)
  • web: added missing export (c5ffc0a), closes #805
  • web: corrected timestamp rounding when retrieving the expiry date of a cookie (d636965)
  • webdriverio: ensure getLastScriptExecutionResult returns undefined for void functions (aa00dfd)
  • webdriverio: fixed synchronisation issue in ModalDialog (12324b2), closes #805
  • webdriverio: separated UIElement.hoverOver from UIElement.scrollIntoView (cf4ca2c)
  • webdriverio: updated WebdriverIO to 7.13.2 (ef79d19)
  • webdriverio: updated WebdriverIO to 7.16.7 (3316e29)
  • web: ensure all Web interactions extend the same base class (b358c0b)
  • web: fixed the interaction to Select (10b7b74)
  • web: optimised PhotoTakingStrategy (085b7f7)
  • web: removed Cookie as it will be re-implemented (cb3d081)
  • web: removed incorrect export (ebf80c0)
  • web: removed incorrect import (90cb025)
  • web: removed window-specific APIs from BrowseTheWeb that got replaced by Page (918f447), closes #805
  • web: renamed Element and associated classes to PageElement to avoid name conflicts (1e4204b)
  • web: renamed PageElementList to PageElements to improve readability (a9903a7), closes #805
  • web: standardised getters across PageElement implementations (336472b)
  • web: wordsmithing of interface names (5a1e76a)

Features

  • core: question.about creates a proxy around the answer to simplify the API (25e0841)
  • core: question.about produces "props" that proxy the methods of the underlying model (f771872)
  • protractor: compatibility with @serenity-js/web (9df4db2), closes #805
  • protractor: removed Protractor-specific Target implementations in favour of @serenity-js/web (5cfc7e5)
  • web: a common way to run the tests for all the web adapters (c7e584a)
  • web: added Page.viewportSize and Page.setViewportSize methods (4cabbe2)
  • web: all Screenplay APIs migrated from @serenity-js/webdriverio to @serenity-js/web (7b6b95d)
  • webdriverio: support for native WebdriverIO services (8d5ad22)
  • web: interaction to set a Cookie (c056439), closes #805
  • web: interaction to setViewportSize of a Page (dd7f180)
  • web: introduced UIElementQuestion to help ensure no NPEs in UI-related questions (fe29121)
  • web: migrated Photographer from @serenity-js/protractor to @serenity-js/web (4506dac), closes #805
  • web: ModalDialog available for both Protractor and WebdriverIO adapters (ef3c566), closes #805
  • web: new module @serenity-js/web to provide Web-related Screenplay Pattern APIs (bead861)
  • web: page provides an abstraction around browser window (2e70a3b)
  • web: Page.url() and Page.title() replace Website.url() and Website.title() (49fe009), closes #805
  • web: removed Target in favour of PageElement (69496c4), closes #805
  • web: support for switching browsing context (a73a635), closes #805
  • web: support for working with cookies (39cde6d), closes #805

BREAKING CHANGES

  • core: Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
    modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
serenity-js - v2.33.6

Published by github-actions[bot] over 2 years ago

2.33.6 (2022-04-15)

Bug Fixes

  • deps: update dependency graceful-fs to ^4.2.10 (eb7ac15)
  • deps: update dependency moment to ^2.29.2 (e3bb6d9)
  • rest: Allow disabling maxRedirects. Closes #1181 (e819409)
serenity-js - v3.0.0-rc.15

Published by github-actions[bot] over 2 years ago

3.0.0-rc.15 (2022-04-10)

Bug Fixes

  • web: corrected an inefficient regular expression in By selector description generator (1b537d2)
  • web: replaced legacy PromiseLike return types with native Promise types (436b3cb)

3.0.0-rc.14 (2022-03-28)

Bug Fixes

  • web: auto-generated descriptions of nested PageElements are easier to read (5a51d91)
  • web: corrected return types of question about Selected page elements (b32f280)

Features

  • web: Attribute.called(name).of(pageElement) returns a QuestionAdapter (e220665)
  • web: CssClasses.of(pageElement) returns a QuestionAdapter (0942887)
  • web: Value.of(pageElement) returns a QuestionAdapter (c45b483)

3.0.0-rc.13 (2022-03-02)

Features

3.0.0-rc.12 (2022-02-23)

Bug Fixes

  • serenity-bdd: downgraded to Serenity BDD CLI 3.1.0 (773786a), closes #1133

3.0.0-rc.11 (2022-02-13)

Bug Fixes

  • core: updated dependency on error-stack-parser (ea50285)
  • web: made the constructor of BrowseTheWeb protected, since it's an abstract class (dbfbed0)

Features

  • serenity-bdd: updated Serenity BDD CLI to 3.2.0, which introduces new HTML reports (9abdbd6)
  • web: support for working with frames and an interaction to Switch.to(frameOrPage) (ef73ef2), closes #805

3.0.0-rc.10 (2022-02-03)

3.0.0-rc.9 (2022-02-01)

Features

  • web: isVisible() works with Web elements in Shadow DOM (cf84fb0), closes #1085

3.0.0-rc.8 (2022-01-28)

Bug Fixes

  • core: ensure Question.about doesn't expose internal interfaces (4bfb6bc), closes #1106
  • webdriverio: corrected visibility of the browser field on BrowseTheWebWithWebdriverIO (0de725f)

3.0.0-rc.7 (2022-01-28)

Bug Fixes

  • core: removed deprecated interface DressingRoom; please use Cast instead (d68b44b)
  • core: removed deprecated interface WithStage (45d1c2b)
  • core: removed deprecated task to See.if (dd5e2f5)
  • cucumber: SECURITY: removed overrides for colors.js since the issue has now been addressed (481e327), closes cucumber/cucumber-js#1885

Features

  • assertions: isPresent works with any Optional (cea75dc), closes #1103
  • core: f and d question description formatters (c9f3fad)
  • core: replaced Adapter with QuestionAdapter and introduced Optional (8d84ad3), closes #1103
  • core: support for Optional chaining, expectation isPresent, refactored Expectations (1841ee5), closes #1099 #1099 #1103

3.0.0-rc.6 (2022-01-10)

3.0.0-rc.5 (2022-01-07)

Bug Fixes

  • core: screenplay Adapters will now correctly proxy calls to function-specific object keys (ad6f1e6)
  • jasmine: integrated with Jasmine 3.99.0 (7f03bb5)

Features

  • web: support for advanced PageElement locator patterns (c1ff8b7), closes #1084

3.0.0-rc.4 (2021-12-30)

Bug Fixes

  • core: you can now retrieve the .length property of an Array wrapped in an Adapter (c36e210)

Features

  • web: ElementExpectation makes it easier to define custom PageElement-related Expectations (92ebf7d)
  • web: Text.ofAll accepts mapped PageElements (5314246)

3.0.0-rc.3 (2021-12-29)

Bug Fixes

  • core: refactored Mappable so that it's easier to implement filters (176e0cd), closes #1074
  • core: removed interface Reducible since it's not used any more (1e9f23b)
  • deps: updated tiny-types to 1.17.0 (3187051)
  • examples: updated the examples to use the new PageElement, By, and .where APIs (54961a7), closes #805
  • rest: corrected LastResponse to wrap .status(), .body(), .header() and .headers() in Adapters (aab8e93), closes #1082
  • web: corrected synchronisation in Web questions and interactions (c3a0ad1)
  • web: Photographer skips taking a screenshot if the Window is closed (DevTools protocol) (b682577)
  • web: refactored Selector and NativeElementLocator classes to simplify the implementation (f0c8f11)
  • web: simplified the selectors (b167e42), closes #1074

Features

  • core: forEach for List and PageElements (4592fb7), closes #823
  • core: List supports custom collectors (cd3f2bc)
  • core: new implementation of List.where filters (45b3c80), closes #1074
  • core: support for Screenplay-style collection filters and mapping (List.where & .eachMappedTo) (3d3c02e), closes #1074
  • web: isVisible checks if the element is in viewport and not hidden behind other elements (429040f)
  • web: new PageElement retrieval model based on Selectors (48bd94f)
  • web: re-introduced PageElements.where DSL and universal By selectors (39fe0a1), closes #1081

3.0.0-rc.2 (2021-12-09)

Bug Fixes

  • lerna: corrected versions of internal deps (582b922)

3.0.0-rc.1 (2021-12-09)

Bug Fixes

  • examples: migrated Protractor TodoMVC example to Serenity/JS 3.0 (85a7cd9)
  • serenity-bdd: upgraded Serenity BDD CLI to 2.6.0 (93c32f2)

3.0.0-rc.0 (2021-12-08)

Bug Fixes

  • core: formatted can be configured to produce single- or multi-line descriptions (21145a3)
  • core: inspected produces a better description of functions used as parameters (15535c6)
  • core: 3.0 RC (469d54e), closes #805
  • core: answerProxy renamed to ProxyAnswer to better reflect its purpose (a98fe41)
  • core: corrected type defs of Question.as (681ce22)
  • core: exported createProxyAnswer to make it easier to use (5471989)
  • core: removed Loop as it will be replaced (0b63d27)
  • core: removed Property as it will be replaced by new Question (fd7fa10)
  • core: removed Transform and mapping functions as they'll be replaced with new Question (506eaea)
  • core: renamed "Model" type to "Adapter" to better reflect its purpose (b4ea7a1), closes #805
  • cucumber: support for recognising non-Serenity AssertionErrors in older version of Cucumber (31e9e99)
  • deps: updated WebdriverIO (9de63d4)
  • deps: web (b075b8e)
  • jasmine: upgraded Jasmine to 3.10.0 (707dbff), closes jasmine/jasmine#1939
  • protractor: fixed the interaction to Switch (762ca84)
  • protractor: lastScriptExecution.result() returns undefined instead of null for void functions (997d87a)
  • protractor: modernised ProtractorParam to return a Screenplay Model (43c2032)
  • protractor: removed interaction to ResizeBrowserWindow in favour of Page.setViewportSize() (b8e471d)
  • protractor: replaced obsolete "Window", replaced by "Page" in @serenity-js/web (a3442c4)
  • web: added missing export (c5ffc0a), closes #805
  • web: corrected timestamp rounding when retrieving the expiry date of a cookie (d636965)
  • webdriverio: ensure getLastScriptExecutionResult returns undefined for void functions (aa00dfd)
  • webdriverio: fixed synchronisation issue in ModalDialog (12324b2), closes #805
  • webdriverio: separated UIElement.hoverOver from UIElement.scrollIntoView (cf4ca2c)
  • webdriverio: updated WebdriverIO to 7.13.2 (ef79d19)
  • webdriverio: updated WebdriverIO to 7.16.7 (3316e29)
  • web: ensure all Web interactions extend the same base class (b358c0b)
  • web: fixed the interaction to Select (10b7b74)
  • web: optimised PhotoTakingStrategy (085b7f7)
  • web: removed Cookie as it will be re-implemented (cb3d081)
  • web: removed incorrect export (ebf80c0)
  • web: removed incorrect import (90cb025)
  • web: removed window-specific APIs from BrowseTheWeb that got replaced by Page (918f447), closes #805
  • web: renamed Element and associated classes to PageElement to avoid name conflicts (1e4204b)
  • web: renamed PageElementList to PageElements to improve readability (a9903a7), closes #805
  • web: standardised getters across PageElement implementations (336472b)
  • web: wordsmithing of interface names (5a1e76a)

Features

  • core: question.about creates a proxy around the answer to simplify the API (25e0841)
  • core: question.about produces "props" that proxy the methods of the underlying model (f771872)
  • protractor: compatibility with @serenity-js/web (9df4db2), closes #805
  • protractor: removed Protractor-specific Target implementations in favour of @serenity-js/web (5cfc7e5)
  • web: a common way to run the tests for all the web adapters (c7e584a)
  • web: added Page.viewportSize and Page.setViewportSize methods (4cabbe2)
  • web: all Screenplay APIs migrated from @serenity-js/webdriverio to @serenity-js/web (7b6b95d)
  • webdriverio: support for native WebdriverIO services (8d5ad22)
  • web: interaction to set a Cookie (c056439), closes #805
  • web: interaction to setViewportSize of a Page (dd7f180)
  • web: introduced UIElementQuestion to help ensure no NPEs in UI-related questions (fe29121)
  • web: migrated Photographer from @serenity-js/protractor to @serenity-js/web (4506dac), closes #805
  • web: ModalDialog available for both Protractor and WebdriverIO adapters (ef3c566), closes #805
  • web: new module @serenity-js/web to provide Web-related Screenplay Pattern APIs (bead861)
  • web: page provides an abstraction around browser window (2e70a3b)
  • web: Page.url() and Page.title() replace Website.url() and Website.title() (49fe009), closes #805
  • web: removed Target in favour of PageElement (69496c4), closes #805
  • web: support for switching browsing context (a73a635), closes #805
  • web: support for working with cookies (39cde6d), closes #805

BREAKING CHANGES

  • core: Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
    modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
serenity-js - v2.33.5

Published by github-actions[bot] over 2 years ago

2.33.5 (2022-04-08)

Bug Fixes

  • deps: update dependency @babel/parser to ^7.17.9 (cf18e63)
  • deps: update dependency stackframe to ^1.2.1 (4a09513)
  • protractor: simplified implementation of ProtractorFrameworkAdapter (eaaf5d3)
serenity-js - v2.33.4

Published by github-actions[bot] over 2 years ago

2.33.4 (2022-03-29)

Bug Fixes

  • serenity-bdd: corrected reporting of interactions that occur in beforeAll hooks (74ec88e), closes #1162
serenity-js - v3.0.0-rc.14

Published by github-actions[bot] over 2 years ago

3.0.0-rc.14 (2022-03-28)

Bug Fixes

  • web: auto-generated descriptions of nested PageElements are easier to read (5a51d91)
  • web: corrected return types of question about Selected page elements (b32f280)

Features

  • web: Attribute.called(name).of(pageElement) returns a QuestionAdapter (e220665)
  • web: CssClasses.of(pageElement) returns a QuestionAdapter (0942887)
  • web: Value.of(pageElement) returns a QuestionAdapter (c45b483)

3.0.0-rc.13 (2022-03-02)

Features

3.0.0-rc.12 (2022-02-23)

Bug Fixes

  • serenity-bdd: downgraded to Serenity BDD CLI 3.1.0 (773786a), closes #1133

3.0.0-rc.11 (2022-02-13)

Bug Fixes

  • core: updated dependency on error-stack-parser (ea50285)
  • web: made the constructor of BrowseTheWeb protected, since it's an abstract class (dbfbed0)

Features

  • serenity-bdd: updated Serenity BDD CLI to 3.2.0, which introduces new HTML reports (9abdbd6)
  • web: support for working with frames and an interaction to Switch.to(frameOrPage) (ef73ef2), closes #805

3.0.0-rc.10 (2022-02-03)

3.0.0-rc.9 (2022-02-01)

Features

  • web: isVisible() works with Web elements in Shadow DOM (cf84fb0), closes #1085

3.0.0-rc.8 (2022-01-28)

Bug Fixes

  • core: ensure Question.about doesn't expose internal interfaces (4bfb6bc), closes #1106
  • webdriverio: corrected visibility of the browser field on BrowseTheWebWithWebdriverIO (0de725f)

3.0.0-rc.7 (2022-01-28)

Bug Fixes

  • core: removed deprecated interface DressingRoom; please use Cast instead (d68b44b)
  • core: removed deprecated interface WithStage (45d1c2b)
  • core: removed deprecated task to See.if (dd5e2f5)
  • cucumber: SECURITY: removed overrides for colors.js since the issue has now been addressed (481e327), closes cucumber/cucumber-js#1885

Features

  • assertions: isPresent works with any Optional (cea75dc), closes #1103
  • core: f and d question description formatters (c9f3fad)
  • core: replaced Adapter with QuestionAdapter and introduced Optional (8d84ad3), closes #1103
  • core: support for Optional chaining, expectation isPresent, refactored Expectations (1841ee5), closes #1099 #1099 #1103

3.0.0-rc.6 (2022-01-10)

3.0.0-rc.5 (2022-01-07)

Bug Fixes

  • core: screenplay Adapters will now correctly proxy calls to function-specific object keys (ad6f1e6)
  • jasmine: integrated with Jasmine 3.99.0 (7f03bb5)

Features

  • web: support for advanced PageElement locator patterns (c1ff8b7), closes #1084

3.0.0-rc.4 (2021-12-30)

Bug Fixes

  • core: you can now retrieve the .length property of an Array wrapped in an Adapter (c36e210)

Features

  • web: ElementExpectation makes it easier to define custom PageElement-related Expectations (92ebf7d)
  • web: Text.ofAll accepts mapped PageElements (5314246)

3.0.0-rc.3 (2021-12-29)

Bug Fixes

  • core: refactored Mappable so that it's easier to implement filters (176e0cd), closes #1074
  • core: removed interface Reducible since it's not used any more (1e9f23b)
  • deps: updated tiny-types to 1.17.0 (3187051)
  • examples: updated the examples to use the new PageElement, By, and .where APIs (54961a7), closes #805
  • rest: corrected LastResponse to wrap .status(), .body(), .header() and .headers() in Adapters (aab8e93), closes #1082
  • web: corrected synchronisation in Web questions and interactions (c3a0ad1)
  • web: Photographer skips taking a screenshot if the Window is closed (DevTools protocol) (b682577)
  • web: refactored Selector and NativeElementLocator classes to simplify the implementation (f0c8f11)
  • web: simplified the selectors (b167e42), closes #1074

Features

  • core: forEach for List and PageElements (4592fb7), closes #823
  • core: List supports custom collectors (cd3f2bc)
  • core: new implementation of List.where filters (45b3c80), closes #1074
  • core: support for Screenplay-style collection filters and mapping (List.where & .eachMappedTo) (3d3c02e), closes #1074
  • web: isVisible checks if the element is in viewport and not hidden behind other elements (429040f)
  • web: new PageElement retrieval model based on Selectors (48bd94f)
  • web: re-introduced PageElements.where DSL and universal By selectors (39fe0a1), closes #1081

3.0.0-rc.2 (2021-12-09)

Bug Fixes

  • lerna: corrected versions of internal deps (582b922)

3.0.0-rc.1 (2021-12-09)

Bug Fixes

  • examples: migrated Protractor TodoMVC example to Serenity/JS 3.0 (85a7cd9)
  • serenity-bdd: upgraded Serenity BDD CLI to 2.6.0 (93c32f2)

3.0.0-rc.0 (2021-12-08)

Bug Fixes

  • core: formatted can be configured to produce single- or multi-line descriptions (21145a3)
  • core: inspected produces a better description of functions used as parameters (15535c6)
  • core: 3.0 RC (469d54e), closes #805
  • core: answerProxy renamed to ProxyAnswer to better reflect its purpose (a98fe41)
  • core: corrected type defs of Question.as (681ce22)
  • core: exported createProxyAnswer to make it easier to use (5471989)
  • core: removed Loop as it will be replaced (0b63d27)
  • core: removed Property as it will be replaced by new Question (fd7fa10)
  • core: removed Transform and mapping functions as they'll be replaced with new Question (506eaea)
  • core: renamed "Model" type to "Adapter" to better reflect its purpose (b4ea7a1), closes #805
  • cucumber: support for recognising non-Serenity AssertionErrors in older version of Cucumber (31e9e99)
  • deps: updated WebdriverIO (9de63d4)
  • deps: web (b075b8e)
  • jasmine: upgraded Jasmine to 3.10.0 (707dbff), closes jasmine/jasmine#1939
  • protractor: fixed the interaction to Switch (762ca84)
  • protractor: lastScriptExecution.result() returns undefined instead of null for void functions (997d87a)
  • protractor: modernised ProtractorParam to return a Screenplay Model (43c2032)
  • protractor: removed interaction to ResizeBrowserWindow in favour of Page.setViewportSize() (b8e471d)
  • protractor: replaced obsolete "Window", replaced by "Page" in @serenity-js/web (a3442c4)
  • web: added missing export (c5ffc0a), closes #805
  • web: corrected timestamp rounding when retrieving the expiry date of a cookie (d636965)
  • webdriverio: ensure getLastScriptExecutionResult returns undefined for void functions (aa00dfd)
  • webdriverio: fixed synchronisation issue in ModalDialog (12324b2), closes #805
  • webdriverio: separated UIElement.hoverOver from UIElement.scrollIntoView (cf4ca2c)
  • webdriverio: updated WebdriverIO to 7.13.2 (ef79d19)
  • webdriverio: updated WebdriverIO to 7.16.7 (3316e29)
  • web: ensure all Web interactions extend the same base class (b358c0b)
  • web: fixed the interaction to Select (10b7b74)
  • web: optimised PhotoTakingStrategy (085b7f7)
  • web: removed Cookie as it will be re-implemented (cb3d081)
  • web: removed incorrect export (ebf80c0)
  • web: removed incorrect import (90cb025)
  • web: removed window-specific APIs from BrowseTheWeb that got replaced by Page (918f447), closes #805
  • web: renamed Element and associated classes to PageElement to avoid name conflicts (1e4204b)
  • web: renamed PageElementList to PageElements to improve readability (a9903a7), closes #805
  • web: standardised getters across PageElement implementations (336472b)
  • web: wordsmithing of interface names (5a1e76a)

Features

  • core: question.about creates a proxy around the answer to simplify the API (25e0841)
  • core: question.about produces "props" that proxy the methods of the underlying model (f771872)
  • protractor: compatibility with @serenity-js/web (9df4db2), closes #805
  • protractor: removed Protractor-specific Target implementations in favour of @serenity-js/web (5cfc7e5)
  • web: a common way to run the tests for all the web adapters (c7e584a)
  • web: added Page.viewportSize and Page.setViewportSize methods (4cabbe2)
  • web: all Screenplay APIs migrated from @serenity-js/webdriverio to @serenity-js/web (7b6b95d)
  • webdriverio: support for native WebdriverIO services (8d5ad22)
  • web: interaction to set a Cookie (c056439), closes #805
  • web: interaction to setViewportSize of a Page (dd7f180)
  • web: introduced UIElementQuestion to help ensure no NPEs in UI-related questions (fe29121)
  • web: migrated Photographer from @serenity-js/protractor to @serenity-js/web (4506dac), closes #805
  • web: ModalDialog available for both Protractor and WebdriverIO adapters (ef3c566), closes #805
  • web: new module @serenity-js/web to provide Web-related Screenplay Pattern APIs (bead861)
  • web: page provides an abstraction around browser window (2e70a3b)
  • web: Page.url() and Page.title() replace Website.url() and Website.title() (49fe009), closes #805
  • web: removed Target in favour of PageElement (69496c4), closes #805
  • web: support for switching browsing context (a73a635), closes #805
  • web: support for working with cookies (39cde6d), closes #805

BREAKING CHANGES

  • core: Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
    modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
serenity-js - v2.33.3

Published by github-actions[bot] over 2 years ago

2.33.3 (2022-03-19)

Bug Fixes

  • protractor: made selenium-webdriver an explicit dependency (c5c9892), closes #724
serenity-js - v3.0.0-rc.13

Published by github-actions[bot] over 2 years ago

3.0.0-rc.13 (2022-03-02)

Features

serenity-js - v3.0.0-rc.12

Published by github-actions[bot] over 2 years ago

3.0.0-rc.12 (2022-02-23)

Bug Fixes

  • serenity-bdd: downgraded to Serenity BDD CLI 3.1.0 (773786a), closes #1133

3.0.0-rc.11 (2022-02-13)

Bug Fixes

  • core: updated dependency on error-stack-parser (ea50285)
  • web: made the constructor of BrowseTheWeb protected, since it's an abstract class (dbfbed0)

Features

  • serenity-bdd: updated Serenity BDD CLI to 3.2.0, which introduces new HTML reports (9abdbd6)
  • web: support for working with frames and an interaction to Switch.to(frameOrPage) (ef73ef2), closes #805

3.0.0-rc.10 (2022-02-03)

3.0.0-rc.9 (2022-02-01)

Features

  • web: isVisible() works with Web elements in Shadow DOM (cf84fb0), closes #1085

3.0.0-rc.8 (2022-01-28)

Bug Fixes

  • core: ensure Question.about doesn't expose internal interfaces (4bfb6bc), closes #1106
  • webdriverio: corrected visibility of the browser field on BrowseTheWebWithWebdriverIO (0de725f)

3.0.0-rc.7 (2022-01-28)

Bug Fixes

  • core: removed deprecated interface DressingRoom; please use Cast instead (d68b44b)
  • core: removed deprecated interface WithStage (45d1c2b)
  • core: removed deprecated task to See.if (dd5e2f5)
  • cucumber: SECURITY: removed overrides for colors.js since the issue has now been addressed (481e327), closes cucumber/cucumber-js#1885

Features

  • assertions: isPresent works with any Optional (cea75dc), closes #1103
  • core: f and d question description formatters (c9f3fad)
  • core: replaced Adapter with QuestionAdapter and introduced Optional (8d84ad3), closes #1103
  • core: support for Optional chaining, expectation isPresent, refactored Expectations (1841ee5), closes #1099 #1099 #1103

3.0.0-rc.6 (2022-01-10)

3.0.0-rc.5 (2022-01-07)

Bug Fixes

  • core: screenplay Adapters will now correctly proxy calls to function-specific object keys (ad6f1e6)
  • jasmine: integrated with Jasmine 3.99.0 (7f03bb5)

Features

  • web: support for advanced PageElement locator patterns (c1ff8b7), closes #1084

3.0.0-rc.4 (2021-12-30)

Bug Fixes

  • core: you can now retrieve the .length property of an Array wrapped in an Adapter (c36e210)

Features

  • web: ElementExpectation makes it easier to define custom PageElement-related Expectations (92ebf7d)
  • web: Text.ofAll accepts mapped PageElements (5314246)

3.0.0-rc.3 (2021-12-29)

Bug Fixes

  • core: refactored Mappable so that it's easier to implement filters (176e0cd), closes #1074
  • core: removed interface Reducible since it's not used any more (1e9f23b)
  • deps: updated tiny-types to 1.17.0 (3187051)
  • examples: updated the examples to use the new PageElement, By, and .where APIs (54961a7), closes #805
  • rest: corrected LastResponse to wrap .status(), .body(), .header() and .headers() in Adapters (aab8e93), closes #1082
  • web: corrected synchronisation in Web questions and interactions (c3a0ad1)
  • web: Photographer skips taking a screenshot if the Window is closed (DevTools protocol) (b682577)
  • web: refactored Selector and NativeElementLocator classes to simplify the implementation (f0c8f11)
  • web: simplified the selectors (b167e42), closes #1074

Features

  • core: forEach for List and PageElements (4592fb7), closes #823
  • core: List supports custom collectors (cd3f2bc)
  • core: new implementation of List.where filters (45b3c80), closes #1074
  • core: support for Screenplay-style collection filters and mapping (List.where & .eachMappedTo) (3d3c02e), closes #1074
  • web: isVisible checks if the element is in viewport and not hidden behind other elements (429040f)
  • web: new PageElement retrieval model based on Selectors (48bd94f)
  • web: re-introduced PageElements.where DSL and universal By selectors (39fe0a1), closes #1081

3.0.0-rc.2 (2021-12-09)

Bug Fixes

  • lerna: corrected versions of internal deps (582b922)

3.0.0-rc.1 (2021-12-09)

Bug Fixes

  • examples: migrated Protractor TodoMVC example to Serenity/JS 3.0 (85a7cd9)
  • serenity-bdd: upgraded Serenity BDD CLI to 2.6.0 (93c32f2)

3.0.0-rc.0 (2021-12-08)

Bug Fixes

  • core: formatted can be configured to produce single- or multi-line descriptions (21145a3)
  • core: inspected produces a better description of functions used as parameters (15535c6)
  • core: 3.0 RC (469d54e), closes #805
  • core: answerProxy renamed to ProxyAnswer to better reflect its purpose (a98fe41)
  • core: corrected type defs of Question.as (681ce22)
  • core: exported createProxyAnswer to make it easier to use (5471989)
  • core: removed Loop as it will be replaced (0b63d27)
  • core: removed Property as it will be replaced by new Question (fd7fa10)
  • core: removed Transform and mapping functions as they'll be replaced with new Question (506eaea)
  • core: renamed "Model" type to "Adapter" to better reflect its purpose (b4ea7a1), closes #805
  • cucumber: support for recognising non-Serenity AssertionErrors in older version of Cucumber (31e9e99)
  • deps: updated WebdriverIO (9de63d4)
  • deps: web (b075b8e)
  • jasmine: upgraded Jasmine to 3.10.0 (707dbff), closes jasmine/jasmine#1939
  • protractor: fixed the interaction to Switch (762ca84)
  • protractor: lastScriptExecution.result() returns undefined instead of null for void functions (997d87a)
  • protractor: modernised ProtractorParam to return a Screenplay Model (43c2032)
  • protractor: removed interaction to ResizeBrowserWindow in favour of Page.setViewportSize() (b8e471d)
  • protractor: replaced obsolete "Window", replaced by "Page" in @serenity-js/web (a3442c4)
  • web: added missing export (c5ffc0a), closes #805
  • web: corrected timestamp rounding when retrieving the expiry date of a cookie (d636965)
  • webdriverio: ensure getLastScriptExecutionResult returns undefined for void functions (aa00dfd)
  • webdriverio: fixed synchronisation issue in ModalDialog (12324b2), closes #805
  • webdriverio: separated UIElement.hoverOver from UIElement.scrollIntoView (cf4ca2c)
  • webdriverio: updated WebdriverIO to 7.13.2 (ef79d19)
  • webdriverio: updated WebdriverIO to 7.16.7 (3316e29)
  • web: ensure all Web interactions extend the same base class (b358c0b)
  • web: fixed the interaction to Select (10b7b74)
  • web: optimised PhotoTakingStrategy (085b7f7)
  • web: removed Cookie as it will be re-implemented (cb3d081)
  • web: removed incorrect export (ebf80c0)
  • web: removed incorrect import (90cb025)
  • web: removed window-specific APIs from BrowseTheWeb that got replaced by Page (918f447), closes #805
  • web: renamed Element and associated classes to PageElement to avoid name conflicts (1e4204b)
  • web: renamed PageElementList to PageElements to improve readability (a9903a7), closes #805
  • web: standardised getters across PageElement implementations (336472b)
  • web: wordsmithing of interface names (5a1e76a)

Features

  • core: question.about creates a proxy around the answer to simplify the API (25e0841)
  • core: question.about produces "props" that proxy the methods of the underlying model (f771872)
  • protractor: compatibility with @serenity-js/web (9df4db2), closes #805
  • protractor: removed Protractor-specific Target implementations in favour of @serenity-js/web (5cfc7e5)
  • web: a common way to run the tests for all the web adapters (c7e584a)
  • web: added Page.viewportSize and Page.setViewportSize methods (4cabbe2)
  • web: all Screenplay APIs migrated from @serenity-js/webdriverio to @serenity-js/web (7b6b95d)
  • webdriverio: support for native WebdriverIO services (8d5ad22)
  • web: interaction to set a Cookie (c056439), closes #805
  • web: interaction to setViewportSize of a Page (dd7f180)
  • web: introduced UIElementQuestion to help ensure no NPEs in UI-related questions (fe29121)
  • web: migrated Photographer from @serenity-js/protractor to @serenity-js/web (4506dac), closes #805
  • web: ModalDialog available for both Protractor and WebdriverIO adapters (ef3c566), closes #805
  • web: new module @serenity-js/web to provide Web-related Screenplay Pattern APIs (bead861)
  • web: page provides an abstraction around browser window (2e70a3b)
  • web: Page.url() and Page.title() replace Website.url() and Website.title() (49fe009), closes #805
  • web: removed Target in favour of PageElement (69496c4), closes #805
  • web: support for switching browsing context (a73a635), closes #805
  • web: support for working with cookies (39cde6d), closes #805

BREAKING CHANGES

  • core: Introduced @serenity-js/web - a shared library for Serenity/JS Web integration
    modules such as @serenity-js/protractor and @serenity-js/webdriverio. Dropped support for Node 12.
serenity-js - v2.33.2

Published by github-actions[bot] over 2 years ago

2.33.2 (2022-02-23)

Bug Fixes

  • core: updated error-stack-parser (d81a8ce)
  • deps: update dependency @babel/parser to ^7.17.3 (ff62327)