0.6.9 - 2024-04-25
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
providerIdNumber.validGeIDNumber
- New data generators in
Lorem
providerLorem.supplemental
- New data generators in
Medical
providerMedical.medicalProfession
- New data generators in
Money
providerMoney.currencyNumericCode
Money.currencySymbol
- New data generators in
Stock
providerStock.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.