Releases: vividus-framework/vividus
0.6.13 - 2024-07-29
Added
#5184 [vividus-plugin-web-app-to-rest-api] Exclude webp
files from headless crawling
Changed
#5243 Move step for redirects validations from vividus-plugin-web-app-to-rest-api
to vividus-plugin-rest-api
No changes on user side is needed, since vividus-plugin-web-app-to-rest-api
depends on vividus-plugin-rest-api
explicitly.
Deprecated
#5183 [vividus] Use more specific property placeholder for secrets from Hashi Corp's Vault
Deprecated property placeholder | Replacement |
---|---|
VAULT(..) |
HASHI_CORP_VAULT(..) |
Fixed
#5217 [vividus] Fix NPE on attempt to execute HTTP request with URI having invalid protocol
#5223 [vividus] Decode credentials defined in URI when converting them to Basic Authentication
#5238 [vividus-plugin-web-app] Fix scrolling of element in shadow DOM overflow container
#5239 [vividus-plugin-web-app] Fix infinite loops in script scrolling to the end of page
0.6.12 - 2024-07-04
Added
[vividus] Add new data providers for #{generate($data-provider-and-its-arguments)}
expression
-
9 new providers
Boardgame
Boardgame.artist
Boardgame.category
Boardgame.designer
Boardgame.mechanic
Boardgame.name
Boardgame.publisher
Boardgame.subdomain
CareProvider
CareProvider.hospitalName
CareProvider.medicalProfession
Image
Image.base64GIF
Image.base64JPG
Image.base64PNG
Image.base64SVG
LargeLanguageModel
LargeLanguageModel.embeddingModel
LargeLanguageModel.textModel
LargeLanguageModel.tokenizer
Location
Location.building
Location.nature
Location.otherworldly
Location.privateSpace
Location.publicSpace
Location.work
MedicalProcedure
MedicalProcedure. icd10
MedicalProcedure.drugName
Observation
Observation. symptom
Time
Time.future '60' 'MINUTES'
Time.past '60' 'MINUTES'
TimeAndDate
TimeAndDate.birthday
TimeAndDate.birthday 'MM/dd/yyyy'
TimeAndDate.birthday '5' '10'
TimeAndDate.birthday '18' '65' 'MM/dd/yyyy'
TimeAndDate.future
TimeAndDate.future '60' 'MINUTES'
TimeAndDate.future '60' '30' 'MINUTES'
TimeAndDate.future '5' 'DAYS' 'MM/dd/yyyy'
TimeAndDate.future '10' '5' 'DAYS' 'MM/dd/yyyy'
TimeAndDate.past
TimeAndDate.past '60' 'MINUTES'
TimeAndDate.past '5' 'DAYS' 'MM/dd/yyyy'
TimeAndDate.past '60' '30' 'MINUTES'
TimeAndDate.past '10' '5' 'DAYS' 'MM/dd/yyyy'
-
New data generators in
Aws
providerAws.service
-
New data generators in
Disease
providerDisease.anyDisease
Disease.icd10
-
New data generators in
Medical
providerMedical.medicalProfession
-
New data generators in
PhoneNumber
providerPhoneNumber.cellPhoneInternational
#5143 [vividus-plugin-web-app] Add step to set cookies without applying changes
New step:
When I set all cookies for current domain without applying changes:$parameters
#5179 [vividus-plugin-web-app] Add steps to check cookie present using string comparison rules
New steps:
Then cookie with name that $stringComparisonRule `$cookieName` is set
Then cookie with name that $stringComparisonRule `$cookieName` is not set
#5122, #5144 [vividus-plugin-kafka] Add step to add headers to event
New step:
When I set Kafka event headers:$headers
#5142 [vividus-plugin-excel] Add ability to preserve cells format
New property
excel.preserve-cell-formatting=false
If true
, the original cells format will be preserved. For example cell's date value 3/31/1994
will be represented in human-readable format 3/31/94
, not 34424.0
(number of days after 01/01/1900), number value 1
will be represented as 1
, not 1.0
.
#5146 (Closes #4553) [vividus-plugin-excel] Add ability to set cells type at Excel document creation
Now it's possible to set target excel cell type as well as a type for all cells in a column.
#5128 [vividus-plugin-rest-api] Add expression for PKCE code challenge generation
Proof Key for Code Exchange (PKCE) - an extension of the OAuth 2.0 protocol that helps prevent code interception attacks. In scope of PKCE a new flow with three new parameters: code verifier, code challenge, code challenge method and dependencies between them was introduced. This expression helps to generate code challenge using SHA-256 hashing and base64 URL encoding for provided code verifier value:
#{generateCodeChallenge(...)}
#5134 [vividus-plugin-mobitru] Use dedicated API endpoint to take device when UDID is provided
See details: https://app.mobitru.com/wiki/apidoc/#api-Device-TakeDeviceBySerial
Deprecated
#5179 [vividus-plugin-web-app] Deprecate non-generic steps validating cookie presence
Deprecated step | Replacement pattern |
---|---|
Then cookie with name `$cookieName` is set |
Then cookie with name that is equal to `<cookieName>` is set |
Then cookie with name `$cookieName` is not set |
Then cookie with name that is equal to `<cookieName>` is not set |
Fixed
[vividus-plugin-web-app] Fix screenshot strategy for web/phone/android
profile
#5166 [vividus-plugin-excel] Fix handling of cells without content
NullPointerException
is fixed, and now Excel cells without content are recorded as null
-s.
0.6.11 - 2024-06-12
Added
#5071 (Closes #4864) [vividus-plugin-web-app] Add ability to configure basic authentication
Now it's allowed to add predefined configurations for Basic authentication. The settings are available only for desktop Chromium browsers (Chrome, Opera, Microsoft Edge) and allow to define multiple configurations for authentication on different sites.
#5120 [vividus-plugin-web-app][vividus-plugin-mobile-app] Add step to execute JavaScript
New step:
When I execute javascript `$jsCode`
executes passed JavaScript code on the opened page.
#5088 [vividus-plugin-rest-api] Add HTTP response time log message to reports
At some point logging of HTTP response time was removed from reports, but users find it useful, so the log messages have been added back.
#5104 (Closes #4918) [vividus-plugin-web-app-to-rest-api] Publish response body for failed resource checks
Use the resource-checker.publish-response-body
(false
by default) property to attach the HTTP response body for HTTP calls with non-successful status codes.
#5098 (Closes #5084) [vividus-plugin-excel] Add ability to set collection of ranges in FROM_EXCEL
transformer
Now range
parameter can contain the semicolon-separated collection of Excel ranges from the specified excel sheet. The table header is always taken from the first range and the number of columns in subsequent ranges must correspond to the header.
#5119 (Closes #5017) [vividus-plugin-saucelabs] Add check if SauceConnect tunnel is active before tests start
According to SauceLabs support there could be cases when SauceConnect is started, but tunnel is not yet ready. As the result tests trying to use this tunnel fail. The check for tunnel readiness based on REST API calls is added.
#5089 [vividus-plugin-azure-cosmos-db] Add ability to configure connection mode
The mechanism how the client connects to Azure Cosmos DB can be configured now, the supported modes are DIRECT
(used by default) and GATEWAY
.
Changed
[vividus-plugin-web-app] Always use default device orientation for mobile web profiles
The configuration of Appium capability (selenium.grid.capabilities.deviceOrientation=portrait
) is removed from web/phone/iphone
and web/tablet/*
profiles. Users are not affected, since all mobile devices use portrait orientation by default.
#5115 [vividus-plugin-web-app] Consider sorting of collection with one element as passed
The step
Then elements located by `$locator` are sorted by text in $sortingOrder order
validating sorting order of elements is passed now, if total number of found elements is 1.
Removed
[vividus-plugin-web-app] Remove unsupported Appium capability screenshotWaitTimeout
The configuration of outdated Appium capability (selenium.grid.capabilities.screenshotWaitTimeout=20
) is removed from web/phone/iphone
and web/tablet/*
profiles. Users are not affected, since the setting of this capability doesn't have any effect.
[vividus-plugin-web-app] Remove hardcoded appiumVersion
capability from mobile web profiles
The configuration of Appium capability (selenium.grid.capabilities.appiumVersion=2.0.0
) is removed from web/phone/iphone
and web/tablet/*
profiles. Users are not affected, since this capability is ignored by local Appium server and respected by Cloud providers only, but at the same time each Cloud provider specifies own range of supported versions.
Fixed
[vividus] Fix parsing of URL with percent-encoded spaces in URL path
0.6.10 - 2024-05-20
Added
#5011 [vividus] Add expression #{extractSchemeFromUrl(..)}
New expression extracts the scheme component from the given URL.
#5013, #5016 (Closes #4664) Handle user info provided in URI by HTTP client
URI user info is handled in the fully-automated way while executing HTTP requests: user info provided as a part of URI is converted to basic authentication configuration for all HTTP methods.
#5029 [vividus-plugin-accessibility] Add ability to report each violation as separate assertion
New property:
accessibility.report-violations-as-assertions=false
#5048 [vividus-plugin-web-app-to-rest-api] Add ability to collect URLs not under base URL by FROM_SITEMAP
transformer
New property:
transformer.from-sitemap.strict=true
defines whether invalid URLs will be rejected silently (where "invalid" means that the URL is not under the base URL, see sitemap file location explanation for more details).
Also strict
transformer parameter is available, it's exclusively applicable to the transformer in which it is declared.
#5056 [vividus-plugin-mobitru] Add support of doInjection
option at app installation
New property:
mobitru.do-injection=false
defines whether to inject special code into application to allow emulation of "touch id" action and QR code scan.
Changed
#5042, #5049 [vividus-plugin-lighthouse] Support latest Lighthouse
- PWA category is removed: https://github.com/GoogleChrome/lighthouse/releases/tag/v12.0.0:
"As per Chrome’s updated Installability Criteria, Lighthouse has removed the PWA category. For future PWA testing, users will be directed to use the updated PWA documentation." - Reporting format is updated
Fixed
#5012 [vividus-plugin-visual-tetsing] Keep order of ignore locators in visual configuration
#5050 [vividus-plugin-web-app-to-rest-api] Quietly handle non-encoded Sitemap URLs by FROM_SITEMAP
transformer
According to standard all Sitemap URLs must be URL-escaped and encoded,
but there could be cases when production contains invalid URLs and it's needed to crawl websites, so FROM_SITEMAP
transformer
must be able to handle such invalid URLs.
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 i...
0.6.8 - 2024-02-09
Added
#4809 [vividus] Add Java 21 migration notice
All users are welcomed to migrate to Java 21. If version of Java is lower than 17, the notification warning will be printed. In case of issues please report bugs as earlier as possible.
The target date when support of Java versions lower than 21 will be dropped is July 1, 2024 (the first release after this date will require Java 21+). The old versions of VIVIDUS will start slowing down the tests intentionally after August 1, 2023 in order to push users to the migration.
#4806 (Closes #4734) [vividus-plugin-web-app] Add ability to remove items from web storage
New steps:
When I remove item with key `$key` from $storageType storage
When I clear $storageType storage
where $storageType
is one of the web storage mechanisms: either local
or session
.
#4807 (Closes #4799) [vividus-plugin-web-app] Add shortcut property to set window size for Headless Chrome
New property:
web.headless.chrome.window-size=800,600
sets the initial window size, it is ignored when custom CLI arguments are set using web.driver.chrome.command-line-arguments
property.
Deprecated
#4808 [vividus-plugin-web-app] Deprecate Internet Explorer profile
Since Internet Explorer 11 has retired and is officially out of support, web/desktop/iexplore
profile is deprecated and will be removed in VIVIDUS 0.8.0.
0.6.7 - 2024-02-05
Added
#4741 (Closes #4735) [vividus-plugin-web-app-to-rest-api] Add validation of jump links to named anchors
Jump links using anchors based on name
attribute are included into validation scope.
#4760 (Closes #4736) [vividus-plugin-web-app-to-rest-api] Filter jump links during contextual validations
Validation of jump links is skipped when the current context is restricted to a portion of the document (it's not possible to find target with the given anchor as it may belong to a rest part of the document): such resources are marked as filtered.
#4791 [vividus-plugin-web-app-to-rest-api] Log filtered redirect chains by crawling transformers
Now all redirect chains filtered during the crawling by the corresponding transformers are logged.
#4783 [vividus-plugin-azure-cosmos-db] Add ability to use default authentication to access Cosmos DB service
If master or readonly key is not configured to authenticate to Cosmos database service, the default Azure authentication mechanism described will be used.
#4753 [vividus-to-xray-exporter] Skip test case update if its fields are up to date in JIRA
This enhancement reduces number of test case re-openings and as result helps to avoid JIRA history pollution.
Deprecated
#4792 [vividus-agent-reportportal] Deprecate reporting of steps as test cases
The reporting of steps as ReportPortal test cases is deprecated. As such, system.rp.test-entity
property is deprecated and will be removed in VIVIDUS 0.8.0. The default behavior will be to report scenarios as test cases (system.rp.test-entity= SCENARIO
).
Fixed
#4748 [vividus-plugin-web-app-to-rest-api] Fix filtering of resources excluded from validation
Now resource excluded from validation scope via property resource-checker.uri-to-ignore-regex
are correctly filtered out.
0.6.6 - 2024-01-16
Added
#4709 [vividus-plugin-web-app] Add step to save size and coordinates of an element
New step:
When I save coordinates and size of element located by `$locator` to $scopes variable `$variableName`
#4719 [vividus-plugin-web-app][vividus-plugin-mobile-app] Add context source code dynamic variable
New dynamic variable:
${context-source-code}
provides source code of the current UI context of the application under test.
#4683 [vividus-plugin-web-app-to-rest-api] Support xPath locator in steps validating resources
New steps:
Then all resources found by $htmlLocatorType `$htmlLocator` are valid on:$pages
Then all resources found by $htmlLocatorType `$htmlLocator` in $html are valid
where $htmlLocatorType
is either CSS selector
or XPath
.
#4725 [vividus-plugin-web-app-to-rest-api] Add ability to set seed URL for crawling transformers in parameters
New transformer parameter mainPageUrl
is supported by FROM_SITEMAP
and FROM_HEADLESS_CRAWLING
table transformers. The corresponding properties are:
transformer.from-sitemap.main-page-url
transformer.from-headless-crawling.main-page-url
#4669 (Closes #4663) [vividus-plugin-mobitru] Add ability to disable iOS app resigning on Mobitru
New property (default value is true
):
mobitru.resign-ios-app=true
#4713 [vividus] Add new data providers for #{generate($data-provider-and-its-arguments)}
expression
- 3 new providers
Joke
Joke.knockKnock
Joke.pun
LanguageCode
LanguageCode.iso639
Tire
Tire.aspectRatio
Tire.code
Tire.code
Tire.construction
Tire.loadIndex
Tire.rimSize
Tire.speedrating
Tire.vehicleType
Tire.width
- New data generators in
Aviation
providerAviation.engineType
Aviation.flightStatus
Aviation.gate
Aviation.manufacturer
Aviation.specialTypeDesignator
- New data generators in
Internet
providerInternet.emailSubject
Internet.username
- New data generators in
Name
providerName.femaleFirstName
Name.maleFirstName
Changed
#4707 (Closes #4665) [vividus-plugin-mobile-app] Do not break test on attempt to terminate not running app
Now an attempt to terminate the application which is not running results in the failed step instead of broken one. Having this behaviour users can mark this failure as known issue.
Deprecated
#4612 [vividus-plugin-web-app] Deprecate steps validating script
elements
Deprecated step | Replacement pattern |
---|---|
Then a javascript file with the name '$jsFileName' is included in the source code |
Then number of elements found by `xpath(.//script[contains(@src()='%1$s']):a` is equal to `1` |
Then a javascript with the text '$jsText' is included in the source code |
Then number of elements found by `xpath(.//script[text()='%1$s']):a` is equal to `1` |
Then a javascript with the textpart '$jsTextPart' is included in the source code |
Then number of elements found by `xpath(.//script[contains(text(),'%1$s')]):a` is equal to `1` |
#4709 [vividus-plugin-web-app] Deprecate dynamic variables for context element rectangle
The dynamic variables:
${context-height}
${context-width}
${context-x-coordinate}
${context-y-coordinate}
are deprecated in favour of step:
When I save coordinates and size of element located by `$locator` to $scopes variable `$variableName`
#4719 [vividus-plugin-web-app][vividus-plugin-mobile-app] Deprecate source code dynamic variable
The dynamic variable:
${source-code}
is deprecated in favour of another dynamic variable:
${context-source-code}
#4683 [vividus-plugin-web-app-to-rest-api] Deprecated steps validating resources using cssSelector
only.
Deprecated step | Replacement pattern |
---|---|
Then all resources by selector `$cssSelector` from $html are valid |
Then all resources found by CSS selector `<cssSelector>` in <html> are valid |
Then all resources by selector `$cssSelector` are valid on:$pages |
Then all resources found by CSS selector `<cssSelector>` are valid on:<pages> |
#4725 [vividus-plugin-web-app-to-rest-api] Deprecate ability to set seed URL for crawling transformers via web application main page URL property.
The use of web-application.main-page-url
property for setting of main page for crawling by FROM_SITEMAP
and FROM_HEADLESS_CRAWLING
table transformers is deprecated. mainPageUrl
transformer parameter or corresponding properties transformer.from-sitemap.main-page-url
and transformer.from-headless-crawling.main-page-url
must be used instead.
Fixed
#4682, #4702 (Fixes #4680) [vividus] Fix logging and monitoring of deprecated steps without parameters inside composite steps
NullPointerException
occurred when running a particular composite step inside another composite step is fixed.
0.6.5 - 2023-12-14
Added
#4656 [vividus-plugin-web-app] Add mobile emulation steps
New steps:
When I emulate mobile device with configuration:`$jsonConfiguration`
When I reset mobile device emulation
#4651 [vividus-plugin-web-app] Retry mouse clicks if element position changes during click
Mouse click is retried if page has dynamically loaded content which results in invalid (sometimes negative) coordinates for click, e.g:
Element is not clickable at point (498, -377)
or Element is not clickable at point (550, -11228)
.
#4659 [vividus-plugin-web-app] Recognise chrome-headless-shell
browser as Chrome
This change is explained on the Chrome for Developers blog: Download old Headless Chrome as chrome-headless-shell
#4633 [vividus-plugin-json] Introduce distinct()
JSON path function
Given JSON:
{
"type": [
"b",
"b",
"a",
"c",
"a"
],
"name": [
"abc"
]
}
When the following JSON path with distinct()
function is applied:
$.type.distinct()
The resulting JSON is:
[
"b",
"a",
"c"
]
#4639 [vividus-plugin-web-app-to-rest-api] Add ability to exclude URLs by regex in FROM_HEADLESS_CRAWLING
table transformer
New property:
transformer.from-headless-crawling.exclude-urls-regex=.*(css\|gif\|gz\|ico\|jpeg\|jpg\|js\|mp3\|mp4\|pdf\|png\|svg\|zip\|woff2
\|woff\|ttf\|doc\|docx\|xml\|json\|webmanifest)$
The property transformer.from-headless-crawling.exclude-extensions-regex
is deprecated and will be removed in VIVIDUS 0.7.0, please use new property instead.
#4652 [vividus-plugin-web-app-to-rest-api] Introduce variable name as HTML source in FROM_HTML
table transformer
New parameter variableName
is introduced. It's a name of the variable containing source HTML, only variables of scopes global
and next_batches
are allowed.
The pageUrl
parameter is deprecated and will be removed in VIVIDUS 0.7.0, please use new parameter instead.
#4632 [vividus-plugin-web-app-to-rest-api] Retry SSLLabs status check on HTTP 502 Bad Gateway error
Deprecated
#4580 [vividus-plugin-web-app] Unify syntax of steps performing drag-n-drop actions
Deprecated step | Replacement pattern |
---|---|
When I drag element located `$draggable` and drop it at $location of element located `$target` |
When I drag element located by `<draggable>` and drop it at <location> of element located by `<target>` |
When I simulate drag of element located `$draggable` and drop at element located `$target` |
When I simulate drag of element located by `<draggable>` and drop at element located by `<target>` |
Fixed
#4638 [vividus] Percent-encode all non-ASCII characters in URL user info
#4658 [vividus-plugin-web-app-to-rest-api] Fix handling of URI user info by SiteMap parser
URI user info provided as a part of SiteMap URI is treated as non-preemptive basic authentication now,
0.6.4 - 2023-12-03
Added
#4610 (Closes #4596) [vividus] Introduce decrypt
expression
New expression decrypts an input string using the same algorithm and password employed for the decryption of properties.
#4620 [vividus] Enable usage of non-ASCII chars in ExamplesTable parameters names
Any chars (excluding system ones reservered to identify parameters) can be used in ExamplesTable
headers names.
#4362 [vividus-plugin-web-app] Introduce profile for Headless Edge browser
New profile is added: web/headless/edge
.
#4598 [vividus-plugin-web-app-to-rest-api] Add ability to set HTTP headers for headless crawler
New property pattern:
transformer.from-headless-crawling.http.headers.<header name>=<header value>
#4622 [vividus-plugin-web-app-to-rest-api] Introduce FROM_HTML
table transformer
New transformer generates a table based on the text content, HTML content or attributes of HTML elements found in the provided HTML page.
#4537 (Closes #4437) [vividus-plugin-rest-api] Introduce extended logging for HTTP messages
New property rest-api.http.extended-logging
enables logging of HTTP request/response headers and bodies (applied to the following content types only: text/*
, application/json
, application/xml
).
#4621 [vividus-plugin-rest-api] Add ability to set an empty string as HTTP request body
New alias
Given request body:`$content`
is introduced for the step Given request body: $content
.
Fixed
#4597 [vividus-plugin-visual] Fix handling of ignore options when custom screenshot strategy is set
#4623 [vividus-plugin-accessibility] Fix link to HTML_CS standard in report attachment
The broken link to HTML CodeSniffer standard in the report attachment is fixed to point WCAG 2.1 standard.