Nickolay Platonov
5 December 2017

Siesta 4.4.0 Released With Headless Testing Support

Today we are pleased to announce the Siesta 4.4.0 release. This is a fully backward-compatible release which brings support for […]

Today we are pleased to announce the Siesta 4.4.0 release. This is a fully backward-compatible release which brings support for the newest versions of Chrome and Firefox, and contain some important features affecting the performance of your test suites. Below are the major highlights from the changelog.

Support for headless testing with WebDriver

Siesta now supports a new headless mode of the latest Chrome (>=60) and Firefox (>=57). To enable it, provide the `–headless` switch to the WebDriver launcher.

This feature is more important than it might seem, as headless mode provides isolation for every browser process. This solves the “focus fighting” problem you run into when running multiple tests in parallel. So in headless mode, it is safe to use the `–max-workers` option, launching several parallel execution threads. This in turn results in almost linear speed increase of test suite execution.

We definitely recommend you to experiment with the headless mode + “max-workers” combination. In our experience you can safely specify 3-5 workers (depending on how powerful your server is naturally).

However we noticed that on Windows 7, the headless Chrome runs much slower than “normal” Chrome. There’s no such effect on Windows 10. Please experiment and provide your feedback to our forum.

Deprecating the PhantomJS launcher

phantomjs-logo

PhantomJS was pioneering the landscape of headless browsers and it did an excellent job. However, the architecture of the project was always a bit questionable. The version of WebKit it used was tied to the Qt library and not to Chromium or Safari code bases. As a result, PhantomJS was never truly a real browser and many of you probably noticed this. Certain tests behaved differently in Phantom vs real Chrome. Now it’s time for it to retire – the last release was on January 23, 2016. We’ve deprecated this launcher and removed it from the documentation (it will still remain the Siesta package for some time). All PhantomJS users are strongly advised to switch to another headless launcher, thankfully there’s plenty of options now.

Puppeteer launcher

puppeteerTo replace PhantomJS we’ve added a new launcher based on Puppeteer. Feature-wise this launcher is pretty much on-par with WebDriver and it is running in headless mode by default.

In addition to the above, as always a few issues have been fixed and a few minor improvements made. If you feel that your favorite feature is missing in Siesta – please let us know and we’ll try to implement it.

Happy testing!

Nickolay Platonov

Testing