Skip to content

Latest commit

 

History

History
563 lines (302 loc) · 48.7 KB

CHANGELOG.md

File metadata and controls

563 lines (302 loc) · 48.7 KB

Change Log

All notable changes to this project will be documented in this file. See Conventional Commits for commit guidelines.

3.0.0-rc.31 (2022-10-07)

Bug Fixes

  • core: corrected file system location reporting for built-in Interactions (ce9acfc)
  • core: improved invocation location detection on Windows (#1332) (43dd9b9)
  • deps: update dependency cli-table3 to ^0.6.3 (062b991)
  • playwright: upgraded Playwright to 1.26.1 (b056613)
  • protractor: standardised Web model APIs to always use async/await (e8298dd)
  • webdriverio: standardised Web model APIs to always use async/await (8ea447f)
  • web: interaction to Clear.theValueOf(field) triggers compatible events for all web tools (ee6c112), closes #1329

Features

  • web: accept Answerable as argument of ExecuteScript.from(sourceUrl) (0b06703)

3.0.0-rc.30 (2022-10-05)

Bug Fixes

  • core: removed deprecated function formatted (64d7f21), closes #1260
  • deps: update website dependencies (f8e217b)
  • web: all web modules now correctly support handling iframe context for the current page (bcb8672), closes #1310
  • web: corrected interaction to Clear to avoid issues with elements that have no value attribute (37ae809), closes #1306
  • web: improve handling of closed windows on remote grids (79d387d), closes #1310
  • web: interaction to Clear now supports "contenteditable" elements (d090458), closes #1306

Features

  • web: interaction to Clear works with "contenteditable" elements across all the web tools (c53b00d), closes #1306

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

Bug Fixes

  • serenity-bdd: correct detection of invocation location for internal code (c76ec76)

3.0.0-rc.28 (2022-09-30)

Bug Fixes

  • console-reporter: corrected default export so that it's detected as no-arg (e39fc12), closes #1240
  • console-reporter: corrected error reporting when scenarios are executed in parallel (170a31e), closes #1240
  • core: activity is now able to detect invocation location on Node 14 (41f4776), closes #1240
  • core: enabled support for synthetic default imports and ES module interop (3e63d07), closes #1240
  • core: improved implementation of EventQueue to better support parallel scenarios (025e4fd), closes #1240
  • core: simplified SceneFinishes event (9ad947a), closes #1240
  • playwright-test: bulk-attach all Serenity/JS events to Playwright report (a5f3d7c), closes #1240
  • playwright-test: support for Playwright Test Babel loader (f9a5412), closes #1240
  • playwright-test: wait for Photographer to finish taking screenshots before dismissing actors (b0c5adb), closes #1240
  • playwright: corrected not(isPresent()) for PlaywrightPageElement (0693b2f), closes #1240
  • playwright: upgraded Playwright to 1.25.2 (fcbfdda)
  • playwright: upgraded Playwright to 1.26.0 (a13ab3c)
  • rest: removed deprecated ChangeApiUrl (a8ab177), closes #1259
  • web: question about Text.of(element) now trims newline and space characters (c68bbe9)

Features

  • assertions: new assertion about a property of an object (9cc03d5)
  • console-reporter: improved support for tests executed in parallel (01264ce), closes #1240
  • console-reporter: report both total and real time it took to execute all the scenarios (654be57), closes #1240
  • core: serenity/JS stage crew members can now be configured using string (786cdad), closes #1240 #594
  • playwright-test: first draft of the Serenity/JS Playwright Test reporter (b9e3d89), closes #1240
  • playwright-test: improved Playwright Test reports (6c6b537), closes #1240
  • playwright-test: support Screenplay Pattern-style scenarios (c425c54), closes #1240
  • serenity-bdd: support for configuring SerenityBDDReporter using a ClassDescription string (968e349), closes #594

Reverts

  • web: reverted the change to Text that would make it automatically trim the retrieved text (f5a47b7)

3.0.0-rc.27 (2022-08-26)

Bug Fixes

  • cucumber: support for Cucumber 8.5.2 (1e0763e)
  • deps: update dependency diff to ^5.1.0 (f21af46)
  • deps: update dependency express to ^4.18.1 (f10f264)
  • deps: update dependency moment to ^2.29.4 (7b0fd6e)
  • deps: update website dependencies (#1278) (5e1de6d)
  • playwright: support for Playwright 1.25.1 (e0ab058)

3.0.0-rc.26 (2022-08-15)

Bug Fixes

3.0.0-rc.25 (2022-08-15)

Bug Fixes

  • core: extracted common TypeScript configuration (0108370)
  • core: refactored the interaction to Wait.until to improve its reliability (970ea39), closes #1255
  • deps: updated TinyTypes to 1.19.0 (f6d53e4)
  • local-server: pinned portfinder to 1.0.28 (16369a9), closes http-party/node-portfinder#138
  • playwright: corrected internal imports from playwright to playwright-core (c42e7f3)
  • playwright: updated Playwright (3fa7c7e)
  • playwright: updated Playwright to 1.24.2 (9283910)
  • webdriverio: ensure Serenity/JS-specific config is not passed to WebdriverIO-specific services (384738e)
  • webdriverio: use local instead of global browser object in WebdriverioPage (323be75)
  • web: simplified isClickable so that it doesn't include visibility check (33ad47e)

Features

  • core: support for registering custom RuntimeErrors with ErrorSerialiser (feed78c)

3.0.0-rc.24 (2022-07-23)

Bug Fixes

  • core: improved how the interaction to Log reports names of the logged values (c4cc60d)
  • cucumber: updated @cucumber/messages (9d970d0)
  • playwright: upgraded Playwright to 1.24.0 (9f8d491)
  • web: simplified the implementation of isClickable and isEnabled (142eb86), closes #1255

Features

  • core: new interaction to Debug.values(..) and Debug.setBreakpoint() (ef54324)
  • cucumber: support for Cucumber v8 (e0029e2), closes #1216
  • web: PageElement-releated expectations now also check if the element is present (de4610c), closes #1255

3.0.0-rc.23 (2022-07-19)

Bug Fixes

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)

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

Bug Fixes

  • web: corrected promise handling to avoid the unhandled promise rejection warning (daac705)

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 3.0.0-rc.19 (2022-06-11) Bug Fixes deps: upgraded "error-stack-parser" to 2.1.4 and removed dependency on "stackframe" (8d44563), closes stacktracejs/error-stack-parser#75 stacktracejs/error-stack-parser#80 rest: updated Axios to 0.27.2 (b54694b), closes axios/axios#4124 #1223 Features core: Question.fromObject() generates questions from plain objects with nested Answerables (3113f20), closes #1219 3.0.0-rc.18 (2022-06-06) Bug Fixes deps: updated error-stack-parser to 2.1.0 (e57957b), closes stacktracejs/error-stack-parser#75 deps: updated tiny-types (f1951cf) deps: updated tiny-types to 1.18.2 (83a651c) 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 web: combined Frame and PageElement so they can be Switch-ed to (1b7ab7c), closes #82 #227 #233 #365 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.