0.5.3 - 2023-01-10
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.
- escape comma using backslash
#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.