Skip to content

0.6.9 - 2024-04-25

Compare
Choose a tag to compare
@valfirst valfirst released this 01 May 09:20
· 540 commits to master since this release
release-0.6.9
dc014c2

Added

#4823 (Closes #4822) Add ability to define format for indices of story-level Examples rows in report

New property:

story.example-index-format=\u0020[0]

#4959 [vividus] Add ability to keep all columns in DISTINCTING transformer

New parameter: keepAllColumns (false by default). If false, only the columns specified in byColumnNames will appear in the resulting table. Otherwise, all columns from the initial table will be included in the resulting table. If the initial table has rows with repeated values, the value from the first row will be retained in the resulting table.

#5003, #5005 [vividus] Add new data providers for #{generate($data-provider-and-its-arguments)} expression

  • 3 new providers
    • Planet
      • Planet.atmosphericComposition
      • Planet.atmosphericComposition 'JUPITER'
      • Planet.axialTilt
      • Planet.axialTilt 'JUPITER'
      • Planet.classification
      • Planet.classification 'JUPITER'
      • Planet.density
      • Planet.density 'JUPITER'
      • Planet.discoveryYear
      • Planet.discoveryYear 'JUPITER'
      • Planet.eccentricity
      • Planet.eccentricity 'JUPITER'
      • Planet.equatorialGravity
      • Planet.equatorialGravity 'JUPITER'
      • Planet.equatorialRadius
      • Planet.equatorialRadius 'JUPITER'
      • Planet.escapeVelocity
      • Planet.escapeVelocity 'JUPITER'
      • Planet.gravitationParameters
      • Planet.gravitationParameters 'JUPITER'
      • Planet.inclination
      • Planet.inclination 'JUPITER'
      • Planet.lengthOfDay
      • Planet.lengthOfDay 'JUPITER'
      • Planet.mass
      • Planet.mass 'JUPITER'
      • Planet.meanAirTemperature
      • Planet.meanAirTemperature 'JUPITER'
      • Planet.meanDistanceFromTheSun
      • Planet.meanDistanceFromTheSun 'JUPITER'
      • Planet.meanOrbitalSpeed
      • Planet.meanOrbitalSpeed 'JUPITER'
      • Planet.meanSurfaceTemperature
      • Planet.meanSurfaceTemperature 'JUPITER'
      • Planet.name
      • Planet.numberOfKnownMoons
      • Planet.numberOfKnownMoons 'JUPITER'
      • Planet.orbitalPeriod
      • Planet.orbitalPeriod 'JUPITER'
      • Planet.planetaryDiscriminant
      • Planet.planetaryDiscriminant 'JUPITER'
      • Planet.rings
      • Planet.rings 'JUPITER'
      • Planet.rotationPeriod
      • Planet.rotationPeriod 'JUPITER'
      • Planet.surfaceArea
      • Planet.surfaceArea 'JUPITER'
      • Planet.symbol
      • Planet.symbol 'JUPITER'
      • Planet.volume
      • Planet.volume 'JUPITER'
    • Pronouns
      • Pronouns.objective
      • Pronouns.possessive
      • Pronouns.reflexive
      • Pronouns.subjective
  • New data generators in IdNumber provider
    • IdNumber.validGeIDNumber
  • New data generators in Lorem provider
    • Lorem.supplemental
  • New data generators in Medical provider
    • Medical.medicalProfession
  • New data generators in Money provider
    • Money.currencyNumericCode
    • Money.currencySymbol
  • New data generators in Stock provider
    • Stock.exchanges
    • Stock.lseSymbol
    • Stock.nseSymbol

#4848,#4876 (Closes #3486) [vividus-plugin-azure-service-bus] Introduce Azure Service Bus plugin (Incubating)

"Incubating" means that the functionality is currently a work-in-progress and may change in the future releases.

New steps:

When I send message to `$serviceBusKey` service bus with payload:`$payload`
When I start consuming messages from `$serviceBusKey` service bus
When I stop consuming messages from `$serviceBusKey` service bus
When I wait with `$timeout` timeout until count of consumed `$serviceBusKey` service bus messages is $comparisonRule `$expectedCount`
When I $operation consumed `$serviceBusKey` service bus messages to $scopes variable `$variableName`

#4893 (Closes #4875) [vividus-plugin-web-app] Add step to wait for element appearance with desired timeout

New step

Then element located by `$locator` appears in `$timeout`

#4819, #4845, #4846 (Closes #4666) [vividus-plugin-web-app] Optimize and improve scrolling of element into view

  • #4819 Consider sticky header when scrolling element into view
  • #4819 If the element to scroll is located inside an overflow container, then native scrollIntoView JS method with top alignment is used by step When I scroll element located by `$locator` into view
  • #4845 Optimize wait for scroll completion: current browser is checked while waiting for scroll completion, see more: scrollend event
  • #4846, #4863 Fix scrolling of element into view from non-initial window position

#4830 [vividus-plugin-web-app] [vividus-plugin-mobile-app] Retry search on StaleElementReferenceException at filtering

#4820 [vividus-plugin-mobile-app] Add support of Appium Android UIAutomator2 driver 3.+

W3C actions or gesture shortcuts are used instead of removed obsolete MJSONWP touch route handlers.

#4913 [vividus-plugin-applitools] Add ability to disable browser fetching on UFG

New property:

ui.visual.applitools.disable-browser-fetching=false

if true, page resources for rendering on the UFG will be fetched from outside of the browser.

#4947 [vividus-plugin-applitools] Enable layout breakpoints in UFG

New property:

ui.visual.applitools.layout-breakpoints=true

if true the viewport width and height are changed to the specified device's values prior to capturing the page source for rendering in UFG.

#4910, #4930 (Closes #4887) [vividus-plugin-datetime] Add fromEpochMilli/toEpochMilli expressions

  • toEpochMilli converts the input date to the number of milliseconds from the epoch of 1970-01-01T00:00:00Z.
  • fromEpochMilli converts the input number of milliseconds from the epoch of 1970-01-01T00:00:00Z to the date.

#4929 (Closes #4919) [vividus-plugin-html] Add step to save number of elements from HTML document

New step:

When I save number of elements found by $htmlLocatorType `$htmlLocator` in HTML `$html` to $scopes variable `$variableName`

#4999 [vividus-plugin-csv] Respect CSV format configuration by step saving CSV to variable

The properties csv.delimiter-char and csv.escape-char applied to both the transformer and the step from the plugin.

Changed

#4957 [vividus] Do not fail FILTERING table transformer when random rows number is greater than total rows number

If the number of rows in the original table is less than the value specified in 'byRandomRows' parameter, then all the original table rows are kept. The behaviour is changed to make consistent with byMaxRows and byMaxColumns behaviour.

Deprecated

#4865 [vividus-plugin-web-app] Deprecate step validating number of invisible elements

The step:

Then number of invisible elements `$locator` is $comparisonRule `$quantity`

is deprecated and will be removed in VIVIDUS 0.8.0. The replacement is the step:

Then number of elements found by `$locator` is $comparisonRule `$quantity`

make sure to put the proper visibility type to the locator.

#4912 [vividus-plugin-web-app] Deprecate steps using button attributes as input parameters

Deprecated step Replacement pattern
When I hover a mouse over a button with the name '$buttonName' When I hover mouse over element located `By.buttonName(<buttonName>)`
When I click on a button with the name '$buttonName' When I click on element located by `buttonName(<buttonName>)`
When I click on a button with the image src '$imageSrc' When I click on element located by `xpath(.//button[./img[@src='<imageSrc>']])`
Then a button with the name '$buttonName' exists Then number of elements found by `buttonName(<buttonName>)` is equal to `1`
Then a button with the name '$buttonName' does not exist Then number of elements found by `buttonName(<buttonName>)` is equal to `0`
Then a button with image with the src '$imageSrc' exists Then number of elements found by `xpath(.//button[./img[@src='<imageSrc>']])` is equal to `1`
Then a button with the tooltip '$tooltip' and image with the src '$imageSrc' exists Then number of elements found by `xpath(.//button[./img[@src='<imageSrc>'] and @title='<tooltip>'])` is equal to `1`

#4911 [vividus-plugin-web-app] Deprecate steps saving text and attributes of elements to variables

Deprecated step Replacement pattern
When I set the text found in search context to the '$scopes' variable '$variableName' When I save text of context element to <scopes> variable `<variableName>`
When I set '$attributeName' attribute value of the context element to the '$scopes' variable '$variableName' When I save `<attributeName>` attribute value of context element to <scopes> variable `<variableName>`
When I set '$attributeName' attribute value of the element by $locator to the $scopes variable '$variableName' When I save `<attributeName>` attribute value of element located by `<locator>` to <scopes> variable `<variableName>`

Fixed

#4994 [vividus] Fix NullPointerException while collecting variables data containing variable with null value

#4917 [vividus] Percent-encode all non-ASCII characters in URL fragment

#4978 [vividus] Handle closing script tag in template generating text visual diff

#4993 (Fixes #4662) [vividus] Include know-issues in pass rate statistics in report

[vividus-plugin-web-app] Take screenshot on failure in mouse steps

Screenshots are published to report on failure in the following steps:

When I click on element located by `$locator`
When I perform right-click on element located by `$locator`
When I click on element located by `$locator` then page does not refresh
When I hover mouse over element located by `$locator`

#4965 [vividus-plugin-web-app][vividus-plugin-mobile-app] Do not ignore elements outside the current context in screenshots

Promoted features

Promoted features are features that were incubating in previous versions of VIVIDUS but are now supported and subject to backwards compatibility.

YAML plugin

YAML plugin vividus-plugin-yaml is promoted to stable.

Mobitru plugin

Mobitru plugin vividus-plugin-mobitru is promoted to stable.

Shell plugin

Shell plugin vividus-plugin-shell is promoted to stable.

Lighthouse plugin

Lighthouse plugin vividus-plugin-lighthouse is promoted to stable.