0.5.4 - 2023-02-03
Added
#3597 [vividus-plugin-json] Add step to validate JSON against schema
New step:
Then JSON `$json` is valid against schema `$schema`
#3556 [vividus-plugin-web-app][vividus-plugin-mobile-app] Allow to use hyphen in custom locator names
For example, now it's possible to define locators with any case format: both imageName
and image-name
are allowed:
# lowerCamelCase format
ui.locator.imageName.locator-type=xpath
ui.locator.imageName.pattern=//img[@name='%s' and @alt = '%s']
#kebab-case format
ui.locator.image-name.locator-type=xpath
ui.locator.image-name.pattern=//img[@name='%s' and @alt = '%s']
#3518 [vividus-plugin-web-app] Unify syntax of steps opening web application
New steps:
Given I am on main application page
Given I am on page with URL `$pageURL`
#3516 [vividus-plugin-web-app] Unify syntax of step opening relative URL
New step:
When I go to relative URL `$relativeURL`
#3519 [vividus-plugin-web-app] Unify syntax of steps validating text presence/absence
New steps:
Then text `$text` exists
Then text `$text` does not exist
#3517 [vividus-plugin-web-app][vividus-plugin-mobile-app] Unify syntax of steps changing context
New steps:
When I change context to element located by `$locator` in scope of current context
When I change context to element located by `$locator`
#3387 [vividus-plugin-mobile-app] Add step to zoom in/out context
New step:
When I zoom $zoomType context
#3205 (Closes #1808) [vividus-plugin-mobile-app] Add step performing sequence of touch actions
New step:
When I execute sequence of touch actions: $actions
where allowed actions types are:
- TAP
- TAP_AND_HOLD
- MOVE_TO
- MOVE_BY_OFFSET
- RELEASE
- WAIT
#3602 [vividus-plugin-mobile-app] Add step to upload file with dynamic data to the device
New step:
When I upload file with name `$fileName` and data `$data` to device
#3583 [vividus-plugin-mobile-app] Add shooting strategy to take fullscreen screenshot
New strategy name is FULL_SCREEN
, it takes fullscreen screenshot including top and bottom bars.
#3584 [vividus-plugin-azure-storage-account] Save binary blobs to variables as bytes
It's possible to perform actions with not only textual, but binary blobs as well.
Changed
#3601 [vividus-plugin-web-app] Record failed assertion for intercepted click instead of retry via JS
Now if element by the specified locator is not clickable (overlapped by another element, problems with page/context loading or the element is disabled) the step will fail with corresponding error (ElementClickInterceptedException
). Previously the attempt to click via Javascript was performed, but it was a workaround for Chrome browser only and this attempt doesn't make sense now.
#3541, #3558 [vividus-plugin-saucelabs] Refactor used embedded SauceConnect options:
- Switch from deprecated
--no-remove-colliding-tunnels
option to--tunnel-pool
one. - Remove deprecated
--no-proxy-caching
option: according to SauceConnect logs:Flag --no-proxy-caching has been deprecated, the functionality is not configurable.
Deprecated
#3518 [vividus-plugin-web-app] Unify syntax of steps opening web application
Deprecated step | Replacement pattern |
---|---|
Given I am on the main application page | Given I am on main application page |
Given I am on a page with the URL '$pageURL' | Given I am on page with URL `<pageURL>` |
#3516 [vividus-plugin-web-app] Unify syntax of step opening relative URL
Deprecated step | Replacement pattern |
---|---|
When I go to the relative URL '$relativeURL' | When I go to relative URL `<relativeURL>` |
#3519 [vividus-plugin-web-app] Unify syntax of steps validating text presence/absence
Deprecated step | Replacement pattern |
---|---|
Then the text '$text' exists | Then text `<text>` exists |
Then the text '$text' does not exist | Then text `<text>` does not exist |
#3517 [vividus-plugin-web-app][vividus-plugin-mobile-app] Unify syntax of steps changing context
Deprecated step | Replacement pattern |
---|---|
When I change context to element located `$locator` | When I change context to element located by `<locator>` |
When I change context to element located `$locator` in scope of current context | When I change context to element located by `<locator>` in scope of current context |
#3583 [vividus-plugin-mobile-app] Deprecate shooting strategy with name SIMPLE
The replacement is VIEWPORT
shooting strategy, it's equal to SIMPLE
(it takes screenshot with cut top and bottom bars), but has better naming
Fixed
#3582 [vividus] Fix parsing of nested expressions without parameters
The previous logic matched nested expressions without arguments correctly if the number of characters in this expression is multiple of three only (3+3+3...). For example, it parsed "story_random" or "target" correctly, but not "story_indexed" or "targets".
#3542 [vividus-plugin-web-app] Fix execution of desktop web tests on SauceLabs
- SauceLabs has started using MacOS as a default platform when
platformName
capability is equal to single whitespace,
while emptyplatformName
capability defaults to Windows by Selenium client. - SauceLabs has started using Windows 2008 as a default platform when
platformName
capability is empty and browser is
MicrosoftEdge
, but Windows 2008 doesn't have MS Edge installed