Skip to main content

12 posts tagged with "protractor"

View All Tags

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 addresses #805 and introduces improvements to the following Serenity/JS modules:

Related external tickets: jasmine/jasmine#1939

View detailed code diff on GitHub

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.