ElasTest 1.0.0-beta3 released!

Patxi Gortázar (URJC)

It’s been a while since we published our last update on the ElasTest platform. And it’s not because we didn’t have news for you ElasTest users out there, quite the opposite: we were so busy with a heavy refactoring of the platform that were running resourceless for other tasks like updating our status in the blog. Without further ado, let us recap on the different things that are new in this release. More details can be found on our release page.

Resource requirements

At the beginning of the Summer we started a huge refactoring of the platform with the objective enabling a new (default) running mode for ElasTest that could fit on machines with just 8Gb of memory. Note that this mode is not suitable for production, but can be used to play around and for small CI environments.

In the new default mode, we have removed ElasticSearch as our backend for logs and metrics, and instead we have implemented an ES compatible bridge that stores everything straight into a SQL database (the standard MySQL database we use for storing state like TJob and SUT configurations).

In addition to this, we have integrated the test support service that provides browsers (EUS) within the backend. This service was implemented using Spring, and deployed as an standalone container with its own Java Virtual Machine. As a result, our backend is a bit bigger, but we are saving the extra memory requirements imposed by the JVM itself.

GUI improvements

We now show progress whenever the platform is downloading Docker images. Sometimes, when a TJob or SUT is started by ElasTest, we need to pull Docker images. This process may take a while, and there was no way of noticing what was happening: the TJob just looked stalled. Now, we provide information on the progress of any downloading happening in the context of a TJob. We hope this will improve user experience.

Progress is shown whenever Docker images need to be downloaded

Browsers provided by the platform for manual testing can be started in a new tab, instead of running within the ElasTest GUI. This will allow users to better use the space available.

Some other improvements have been made to the GUI, including some improvements in the LogAnalyzer.

Support for Windows and MacOS

We’ve made a tremendous effort on supporting our Windows and Mac users. Since 1.0.0-beta2, Win and Mac users should be fine running the ElasTest platform on their laptops or servers. We had to solve many minor issues related to different ways of managing local times, that were critical for logs.

Improved Jenkins support

Now, ElasTest can provide a Jenkins for you. It’s true: we allow users to specify if they want a Jenkins instance to be started along with the ElasTest platform at startup. This is useful for those users that plan to use Jenkins, but they still don’t have a Jenkins instance and/or prefer to avoid the burden of dealing with managing such instance. The platform takes care of securing Jenkins access based on the credentials provided for ElasTest.

In addition, important improvements were made to the ElasTest Jenkins plugin. Specifically, users don’t need to start manually dockbeat and filebeat in order to send metrics and logs to ElasTest. Starting from 1.0.0-beta1, as soon as you specify that your job should be managed by ElasTest, we will start those containers for you.

ElasTest will capture logs and metrics out of the box from your pipelines

TestLink integration

We have improved the security of TestLink, by providing access credentials for it on startup. In addition, we included the possibility of specifying an ElasTest SUT for a test plan that will be started automatically, when the test plan is run.

Remember that you can try ElasTest in Win, Mac or Linux just by running

docker run — rm -v ~/.elastest:/data -v /var/run/docker.sock:/var/run/docker.sock elastest/platform start

Happy testing!