Skip to main content

Serenity/JS Changelog 🎁

Subscribe to RSS feeds or follow on LinkedIn to stay up to date with new releases!

Summary

This release introduces improvements to the following Serenity/JS modules:

View detailed code diff on GitHub

Bug Fixes

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

Summary

This release addresses #493, #563, #805, #911, #1035, #1156, #1236 and introduces improvements to the following Serenity/JS modules:

Related external tickets: puppeteer/puppeteer#2481

View detailed code diff on GitHub

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 <select /> 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

Summary

This release introduces improvements to the following Serenity/JS modules:

View detailed code diff on GitHub

Bug Fixes

Features

  • core: Question.fromObject() generates questions from plain objects with nested Answerables (3113f20), closes #1219

Summary

This release introduces improvements to the following Serenity/JS modules:

View detailed code diff on GitHub

Bug Fixes

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

Features

  • core: Screenplay-style Dictionary<T> 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<AxiosRequestConfig> (c28b47c), closes #463

Summary

This release addresses #817 and introduces improvements to the following Serenity/JS modules:

View detailed code diff on GitHub

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.

Summary

This release introduces improvements to the following Serenity/JS modules:

View detailed code diff on GitHub

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)

Summary

This release introduces improvements to the following Serenity/JS modules:

View detailed code diff on GitHub

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)