Sakuli V2.4.0 brings new features but also a lot of improvements and bug fixes for enhanced user experience. Let’s have a look at the major changes for this release.

Sakuli Core

Besides our brand-new preset autodiscovery a lot of improvements went into this release. Enhanced scroll behaviour, new config options and improvements for native interactions are just some of them. A detailed list of all applied enhancement and fixes can be found in the CHANGELOG.md.

Preset Autodiscovery

In Sakuli 2.4.0 we got rid of tedious manual configuration of presets. Instead of listing desired presets in a dedicated "sakuli" section in your package.json file, it is now sufficient to npm install your desired presets. Sakuli will automatically detect and enable installed presets for you, no more configuration required!

Scroll Behaviour

For every interaction with webelements (clicking, highlighting, etc.), Sakuli makes sure the respective element is scrolled into the browser’s viewport. In 2.4.0 we enhanced this mechanism to stabilize test cases and behave even more like a real user. Attention: Please note that this new behaviour might lead to a slight increase in test runtime.

Configurable Screenshot Folder Structure

In Sakuli 2.x we changed the default folder structure of error screenshots so they are stored in per-testcase subfolders. 2.4.0 adds a property to re-enable Sakuli 1.x storage layout using a single folder.

Testcase Boilerplate

New projects bootstrapped via sakuli create project ... now come with a default testcase boilerplate to get you started even faster.

Native Highlight

From 2.4.0 on, it is possible to highlight regions detected via image matching like screen.find("image.png).highlight().

Retrieve Active Window Region

In some cases it can be beneficial to limit search input to the current window. Sakuli is now able to properly detect the active window region for further image recognition requests, using environment.getRegionFromFocusedWinow().

Configurable Mouse Speed

Native mouse movement used to increase overall execution time of testcases due to it’s rather slow default speed. Sakuli 2.4.0 makes mouse speed configurable, so it’s possible to save some time here!

Enterprise packages

Forwarder Configuration

In line with preset autodiscovery we changed the validation mechanism of forwarder properties. Property validation now only processes enabled presets to avoid errors with auto discovery.

Prometheus Forwarder Error State

Due to a bug previous versions of Sakuli’s Prometheus forwarder did not properly update error states. This messes up reported results and therefor has been fixed in 2.4.0.

Sakuli Container

Git Support

Sakuli Containers now support Git repositories. It is now possible to automatically clone a repository on container start, which makes Sakuli containers even more flexible. Simply pass your repo URL via environment variable to have you repo’s content availble at runtime.