Skip to content

0.5.3 - 2023-01-10

Compare
Choose a tag to compare
@valfirst valfirst released this 10 Jan 12:49
· 2026 commits to master since this release
release-0.5.3
bb27254

Added

#3433 (Closes #3256, #3257) Make sure all expressions allow to escape commas and can accept arguments as is

Expressions accepting exactly 1 argument process it as is:

  • all leading and trailing spaces are preserved;
  • no symbols are changed or removed.

The rules used for processing of expressions accepting more than 1 argument are following:

  • comma , is a delimiter for arguments;
  • all leading and trailing argument spaces are trimmed;
  • meaningful commas (not used as delimiters) can be added to arguments in 2 ways:
    • escape comma using backslash \;
    • wrap argument into triple quotes (it might be convenient when arguments are
      get dynamically (e.g. from HTTP response) and escaping of such values could be a
      bit complicated).
      NOTE: The leading and trailing spaces outside triple quotes are trimmed, but the leading and trailing spaces inside triple quotes are preserved.

#3419 [vividus] Improve data generation via generate expression

  • Add Korean resident registration number generator: `#{generate(IdNumber.validKoKrRrn)}
  • 2 new providers:
    • Marvel Snap
    • Silicon Valley

#3523 [vividus] Add decodeFromBase64ToBinary expression

New expression decodes the input string from Base64 format to the binary data:

When I compare against baseline with name `expected` from image `#{decodeFromBase64toBinary(iVBORw0KGgoAAAANSU...)}`

#3520 [vividus-plugin-web-app] Add decodeDataUrl expression

New expression parses Data URL-s and decodes their data if Base64 encoding is set:

#{decodeDataUrl(data:image/png;base64,iVBORw....)}

#3456 [vividus-plugin-json] Add ability to compare for “is not equal to” against null values

Examples:

Then JSON element value from `${json}` by JSON path `$.store.book[0].category` is not equal to `#{null}`
Then JSON element value from context by JSON path `$.store.book[1]` is not equal to `#{null}`

Changed

#3463 [vividus-plugin-saucelabs] Use tunnelName instead of deprecated tunnelIdentifier

https://docs.saucelabs.com/dev/test-configuration-options/#tunnelidentifier:

tunnelIdentifier is being deprecated in favor of tunnelName.

Deprecated

#3531 (Closes #3416) [vividus] Align naming of story execution timeout properties

Deprecated property Replacement
batch-<batch-number>.story-execution-timeout batch-<batch-number>.story.execution-timeout
bdd.story.execution-timeout:
the format of the value is an integer number - number of seconds
story.execution-timeout:
the format of the value is ISO-8601 duration

#3464 [vividus-plugin-cross-browser-testing] Deprecate CrossBrowserTesting plugin

CrossBrowserTesting cloud will be sunset on July 2023:

...we have also announced that we will be sunsetting the CrossBrowserTesting cloud in July 2023, as this new product will replace CrossBrowserTesting.

Taking into account this announcement:

  • development of plugin features is stopped,
  • any bug fixes for the plugin will be accepted and delivered till April 2023,
  • the plugin will be dropped on July 2023

#3510 [vividus-plugin-rest-api] Deprecate url parameter of FROM_JSON table transformer

variable parameter must be used instead as it provides more flexibility.

Fixed

#3472 (Fixes #3471) Fix validation of long float numbers in JSON-s

Now long fraction part of float number is not rounded:

Then JSON element value from `{
    "long-long-float":485690.3866338789319252000000135498000000
}` by JSON path `$.long-long-float` is equal to `485690.3866338789319252000000135498000000`

#3509 [vividus] Fix generate expression to be thread-safe again

The root cause of the fixed issue: datafaker-net/datafaker#574.

#3511 (Fixes #3501) [vividus] Fix expressions resolution in multiline strings

Now the following example works as expected:

Given I initialize scenario variable `jsonWithYear` with value `{
    "year": #{generateDate(-P19Y, yyyy)}
}`
Then `${jsonWithYear}` matches `\{\s+"year": 200\d\s+}`

[vividus-plugin-mobile-app] Take screenshot on failure in steps performing keyboard input

#3522 [vividus-plugin-json] Fix broken JSON assert with IGNORING_EXTRA_ARRAY_ITEMS option

#3527 [vividus-plugin-saucelabs] Fix race condition on SauceConnect process completion

There were collisions on file access when one SauceConnect process were completing and another one were starting.