Change log

Siesta

Release history for Siesta

Version 5.5.0, 2020-05-28 08:42

FEATURES / ENHANCEMENTS

Experimental support for targeting + interacting with web components and any elements inside their shadowroot. To target nested web component elements, use this syntax `todo-app -> .myElement`. Any level of nesting is supported

Added support to query target in nested iframes of any depth (.frame1 -> #frame2 -> .myDiv)

The `during` function of the `firesOk` assertion can now return Promise, which will be awaited

Added 2 new test/project configs: `breakTestOnFail` and `breakSubTestOnFail` see the docs for details

Added new Angular example to the example test suite

Added new Polymer material design example to example test suite

BUG FIXES

Fixed a bug, that a sub-test can be launched already after the top-level test has called its `exit` method

BUG FIXES

Version 5.3.1, 2020-01-28 16:36

FEATURES / ENHANCEMENTS

The `monkeyTest` method now has an additional signature in form of single options object. In this form, it supports a new config option - `skipTargets` with array of DOM selectors to be avoided by monkeys (Fixes #9439)

New 'turboMode' config for Project/Test descriptors which increase the speed of tests by lowering the internal delays of user actions simulation

BUG FIXES

Fixed #9498 - Mouse simulation not always reaching final point in a path

Version 5.3.0, 2019-10-27 15:05

FEATURES / ENHANCEMENTS

Updated Selenium bindings to latest version (along with all WebDriver binaries and Puppeteer). This brings support for latest MS Edge driver. Should be no user-visible changes, if you find any, please report on forum.

BUG FIXES

Fixed #8951 - Mouse move actions should support an 'options' config object just like other mouse interactions

Fixed clicking on the checkbox field and toggle field in Ext 6.7.0 Modern

Version 5.2.3, 2019-05-29 10:33

FEATURES / ENHANCEMENTS

The `isEcmaModule` config is now supported in the `preload` descriptors

A new `testPreload` config, allows preloading of resources into the test script context, when `enablePageRedirect` option is enabled.

The <script> tags of the ES modules are now created with the `crossorigin` attribute set to "anonymous"

Added a note about code coverage for tests running on "localhost"

BUG FIXES

Added a workaround for the Safari 12 bug, which could cause a `UnsupportedOperationError: Parameter 'x' has a boolean value, which is not allowed` error. More details: https://github.com/web-platform-tests/wpt/issues/15625

Fixed modules loading for Node.js > 10.5.0

Fixed the exception in the Siesta UI in Firefox, when using the trial version

Version 5.2.2, 2019-02-22 13:23

BUG FIXES

Fixed an exception during Node.js launcher start in Siesta Lite (Standard was not affected)

Version 5.2.1, 2019-02-05 12:22

BUG FIXES

Fixed an exception during Node.js launcher start

Version 5.2.0, 2019-02-01 11:10

FEATURES / ENHANCEMENTS

Siesta now supports using Ecma6 modules in your Node tests, with `esm` loader. No special configuration is needed, just write your tests as Ecma modules. Note, that when running tests as Ecma6 modules in the browsers, the `isEcmaModule` config should still be specified

Added a sample test suite for a Vue app and a corresponding guide.

Bumped Nyc dependency to support code coverage for Ecma6 modules

Added `--inspect` and `--inspect-brk` command line options, to support debugging when testing in Node.js (previouly one would need to use --node-arg to pass this arguments to Node process). Passing this options will switch to `--max-workers=1` to avoid collision of debugger instances. More details in `--help` (Fixes #7302)

Spies can now be used on generator functions (tracks only calls to generator function itself, not to the iterator)

Added `ignoreCssClasses` config on Siesta.Recorder.Recorder class to be able to ignore certain CSS classes when recording locators (Fixes #7213)

Siesta now correctly sets the `code` property of all keyboard events

The <script> tags of the ES modules are now created with the `crossorigin` attribute set to "use-credentials"

For screenshots manipulation, Siesta now first tries to use the ImageMagic commands installed in the OS, and only then the bundled binaries

Puppeteer launcher updated to version 1.9.0

API CHANGES

The default Spy behavior has been changed to `callThrough`, better docs for `spyOn`.

BUG FIXES

Fixed a bug, that would throw an exception, when using `isDeeply` assertion in Node.js

Fixed a bug, that would throw exception when using Node.js and applying 2 different spies to the same method.

Fixed a bug, that could prevent the launch of native events simulation server in Linux environment, when using --xvfb option

Fixed a bug, that could cause the tests, snoozed with `t.snooze()` method to execute in wrong order

Version 5.1.1, 2018-10-08 09:12

BUG FIXES

Fixed a bug, that could cause the `SessionNotCreatedError` exception, when testing with Safari 12 locally

Version 5.1.0, 2018-10-01 19:43

This release introduces a completely rewritten code coverage module. It now runs on latest Istanbul, supports all Istanbul reports
and ES6 syntax. Please refer to the "Code coverage" guide: https://www.bryntum.com/docs/siesta/#!/guide/code_coverage

FEATURES / ENHANCEMENTS

Default value of the `--max-workers` config for the Puppeteer and NodeJS launchers set to 5. Default value of the `--chunk-size` config for the Puppeteer launcher set to 3. These are the optimal configs for running small (< 30) test suites in maximum parallelization.

Added `[ESC]` alias for the `[ESCAPE]` special key code

API CHANGES

The configuration options `enableCodeCoverage` have been removed. Code coverage is now available from the command line only and is controlled with the `--nyc.reporter` option.

The configuration options `includeCoverageUnit` and `excludeCoverageUnit` have been removed. Use `--nyc.include`, `--nyc.exclude` instead.

The configuration option `coverageUnit` has been removed. Code coverage is now always collected per file. To get the same results from the bundled code - pre-instrument the codebase before bundling.

The command line option `--previous-coverage-report` has been removed. To create a combined coverage report from several consequent test suite launches, specify the `--nyc.clean=false` for the 2nd and following launches

The default value of the "forceDOMVisible" config for MS Edge is set to `true` now. This is to workaround the observed issues with "document.elementFromPoint" implementation in this browser

The Puppeteer launcher no longer redirects the stderr to `bin/webdriver.log`

BUG FIXES

Fixed a bug, that would make exceptions, thrown synchronously during Node.js test execution, to appear in hard to read form

Fixed a bug, that would prevent using the `--proxy` option for Chrome and Firefox drivers

Fixed a bug, that would result in the exit code 1 for "snoozed" tests, failed with exception

Version 5.0.0, 2018-07-28 08:06

This Siesta release re-introduces Node.js support, which has outdated with recent Node versions. If your tests don't involve
DOM, it will be much faster to run them in Node.js environment.

This release also features a new mode for simulation of user actions - native events. In this mode, a real, OS-level
events are simulated, so for example, when test will issue a "mouseMove" command, a real mouse cursor will be moved.
This allows precisely test some intrinsic browser behavior, which synthetic simulation can not capture.
Please refer to the docs for the `simulation` config.

Siesta API now uses native JavaScript "promises" for all user actions and chain steps. See below for details.

FEATURES / ENHANCEMENTS

All methods for simulation user actions, like `click`, `rightClick`, `type`, ``dragTo`, `moveMouseTo` etc now also return a `Promise`, which is resolved once the action has completed. The old API with callbacks is still supported Note, that `chain` method still seems to be more convenient for sequencing user actions.

If a `Promise` is returned from the test function (or it is an `async/await` function) - Siesta now waits until that promise is resolved/rejected before finalizing the test (Fixes #6235). Please refer to the `/examples/browser/1.unit-tests/returning_promise.t.js` for the example

If a `Promise` is returned from chain step function, or step function is `async/await` - Siesta now waits until that promise is resolved/rejected to continue the chain. Please refer to the `/examples/browser/1.unit-tests/chain_step_with_promise.t.js` for the example

The values of the "--cap" configs are now 1st tried to been parsed as JSON, and, if parsing succeeds, the resulting JSON object will be assigned to the config value. Otherwise the value is used as raw string

API CHANGES

The notion of "harness" has been renamed to "project" everywhere in sources, docs, and examples. So `Siesta.Harness.Browser` is now `Siesta.Project.Browser` etc. Old names are still supported as aliases.

The `wait` and `endWait` methods have been deprecated and removed from the documentation (still can be used)

The deprecated method `drag` has been removed. Please use `dragTo/dragBy` instead

The `mouseOver/mouseOut` methods have been removed. Please use regular mouse movement methods instead

The synchronous variants of the following methods are no longer supported `type`, `keyPress`, `click`, `rightClick`, `mouseDown`, `mouseUp`. All these methods are now always asynchronous

The `earlySetup` method is now called for the tests with disabled sandboxing

It is now mandatory to call the SUPER implementation of the `setup` and `earlySetup` test methods, please refer to the updated docs.

The deprecated PhantomJS launcher has been removed from the package, please use Puppeteer launcher instead, or headless Chrome

The SlimerJS launcher has been removed from the package, please use Puppeteer launcher instead, or headless Firefox

Siesta now does not throw exception to determine the current source line, if browser supports `new Error().stack` construct. This helps during debugging with "Pause on caught exceptions" setting enabled (Fixes #6028)

The error message of the `waitForComponentQueryVisible` now provides more information (Fixes #5907)

Siesta now correctly works with SVG elements in IE11 / MSEdge (Fixes #2198)

Siesta now always show a user-provided description from the "waitFor" method, even if waiting has completed synchronously

Slightly improved the "BDD conventions" guide

Improved firing of the mouse events in some edge cases, like removing the click target from the DOM during the click

BUG FIXES

KNOWN ISSUES

The Puppeteer launcher can not be used from the samba network share (at least w/o some additional setup) Local drives setup works fine

Headless Chrome on Windows7 works much slower than non-headless. This affects Puppeteer launcher too.

SlimerJS 1.0.0-alpha version does not support disabling of SSL security

Version 4.4.1, 2017-12-05 17:35

BUG FIXES

Fixed a bug, that could cause typing of BACKSPACE character in the number field to do nothing

Fixed an extra nesting level of "node_modules" folder in package

KNOWN ISSUES

The Puppeteer launcher can not be used from the samba network share (at least w/o some additional setup) Local drives setup works fine

Headless Chrome on Windows7 works much slower than non-headless. This affects Puppeteer launcher too.

SlimerJS 1.0.0-alpha version does not support disabling of SSL security

Version 4.4.0, 2017-12-05 09:35

FEATURES / ENHANCEMENTS

WebDriver launcher now supports a new config option `--headless` (supported for Chrome >= 60 / Firefox >= 57) which opens browser in headless mode and makes it safe to use --max-workers option!

New automation launcher, based on headless Chrome + Puppeteer. This launcher is a replacement for the one based on very poorly maintained PhantomJS project. You can try it with `bin/puppeteer`, featurewise it is equivalent to other launchers

API CHANGES

The PhantomJS launcher has been deprecated. It will remain in the distribution for some time, but is removed from the documentation. All PhantomJS users are strongly advised to switch to Puppeteer/SlimerJS launchers.

NodeJS binaries have been updated, you may need to re-authorize those in Windows Defender

BUG FIXES

Fixed a bug, that could cause `assertTextPresent` assertion to fail with exception

Fixed a bug, that could cause wrong behavior of the `type` method, when typing into the React text fields

Fixed #5036: Resizing a task in gantt works in Siesta but not using regular mouse

Ariadne now uses its own implementation of the `nth-child` pseudo in the component queries, `ariadne-nth-child`. Turns out, the stock `nth-child` is implemented completely incorrectly, using the position of the node in the result set, instead of the position in the siblings collection. This should improve component queries finding in certain cases.

Siesta now supports escaping of special characters sequence, for example, to type the text "[F3]" into some text field, specify it as "[[F3]]"

Harness page now recognize the following query strings "filter" (set the tests grid filter) and "autolaunch" (launch all tests, respecting filter), so to launch test "my_test.js" one can open the link: http://myharness.com/?filter=my_test&autolaunch=1 The link to the test can be copied from the test grid context menu (Fixed #4252)

A new config option "referenceUrl" has been added. CTRL+click on such tests in the Siesta UI will open a new browser window with "referenceUrl". Can be used to attach links to external resources (like tickets, screenshots, etc) to the tests.

SlimerJS has been updated to latest 0.10.3 (supports Firefox up to 52) (Fixed #4267)

API CHANGES

The monkey actions log from `monkeyTest` method is now included as part of the assertion output, and not as the separate test warning. It now also includes only the actually played actions (Fixed #3469)

BUG FIXES

Fixed a bug, where the 'input' events were not simulated when typing [BACKSPACE] and [DELETE] special characters

Fixed a bug, that could cause code instrumentation to fail on "Ext.define(null, {})" definitions, when using "coverageUnit : 'extjs_class'"

Fixed a bug, that could prevent connection to cloud providers (SauceLabs, BrowserStack) using proxy

Version 4.2.2, 2016-12-15 18:21

FEATURES / ENHANCEMENTS

Siesta.Recorder now implements a new config - `shouldIgnoreDomElementId` (Fixed #3586)

Siesta Recorder now supports the following new options: `recordWindowResize/recordInitialWindowSize`. Please refer to the docs

The behavior of recording a `moveCursorTo` action when mouse is idle for some time is now controlled by a new recorder config option: `recordMouseMoveOnIdle`

The behavior of recording a `moveCursorTo` action when mouse cursor goes of certain "points of interest", like grid column headers and menu items, is now controlled by a new recorder config option: `recordPointsOfInterest`

Siesta Recorder now has a new option: `recordMouseMovePath`, which when enabled, will disable the `recordMouseMoveOnIdle` and `recordPointsOfInterest`. This option will record the mouse movement path and generate `moveCursorAlongPath` action

Siesta Recorder now has a new option: `recordScroll`, which when enabled, will record scroll events from all elements on the page

New methods for the Siesta.Test.Browser test class - `moveCursorAlongPath` and `scrollTo`, please refer to the doc

Compatibility fixes for `PointerEvent` enabled by default starting from Chrome 55. When using `Siesta.Test.SenchaTouch` test class and both `PointerEvent` and `TouchEvent` are available Siesta still uses `TouchEvents` (for backward compatibility)

Siesta now includes "Bowser" library for browser detection (Thanks for a lot for the respective authors). It is available as `bowser` global on the harness page and `bowser` property of the test class. See the docs for details.

The "click" and "dblclick" events are now more correctly fired in the same event loop iteration as the "mouseup" event (Fixed #3622)

BUG FIXES

Fixed a bug, that was preventing code coverage feature to work with ExtJS 6 applications using microloader

Fixed a bug, that could cause `t.query()` method to return incorrect results for CSS selectors

Version 4.2.1, 2016-11-22 10:55

FEATURES / ENHANCEMENTS

New command line option added "--randomize-tests-order". Helps you ensure your tests do not depend on each other. Also if you have some heavy tests, grouped in the certain place of the test suite, this option will sort of balance the load across the whole suite

API CHANGES

When testing in BrowserStack, Siesta now enables popups in IE and Safari by default, by setting the `browserstack.ie.enablePopups` and `browserstack.safari.enablePopups` capabilities to `true`. If you need to disable popups in BrowserStack set those capabilities to `false` explicitly (Fixed #3532)

BUG FIXES

Fixed a bug, that was causing "type" action to be incorrectly exported from recorder

Version 4.2.0, 2016-10-24 21:55

FEATURES / ENHANCEMENTS

Siesta Recorder now uses Ariadne - a newly developed selector finding engine. It can find both DOM and Component queries and uses only the minimal required number of CSS classes / attributes, so the queries are smaller. In the same time, it avoids using positional selectors like ":nth-child()", direct child selector ">" as much as possible, so queries are robust to future changes in the markup

[Linux only] Added new command line argument --xvfb, which wraps every browser window (Chrome and Firefox) in its own virtual desktop, using xvfb server. Browser windows won't fight for focus in this case and this allows you to safely specify the greater than 1 values for --max-workers config. Greatly speeds up test suite execution

Added new test method `query` - which resolves an action target as if it would be defined by the Siesta.Test.ActionTarget string, see the docs for additional details

API CHANGES

[BREAKING] SlimerJS version has been updated to the latest, and it is not headless now, requires the presence of Firefox and graphical environment (xvfb or similar) (Fixed #3164)

The default value of the `recordOffsets` config in Siesta.Recorder.Recorder has been changed to `false`. Siesta will still automatically save the offset in the event target element, if that element is not reachable at its center (partially hidden by some other element for example)

Siesta now includes the target for recorded "type" actions

BUG FIXES

Fixed #1413: Simulation of BACKSPACE key does not take current selection into account

Fixed a bug, that was causing the output of the initial help screen to be displayed in colored (and thus garbaged) mode on Windows

KNOWN ISSUES

The situation around the Firefox webdriver implementation is still in flux. The Selenium NodeJS package for 3.0.0 is still beta. So currently, locally, only FF46 and below can be tested. Remote testing including cloud providers works fine. We'll release a patch update as soon as all packages will went out of beta state

Version 4.1.4, 2016-09-23 16:48

KNOWN ISSUES

SlimerJS launcher uses an outdated version of XulRunner (corresponds to FireFox 33) on MacOS

FEATURES / ENHANCEMENTS

Siesta now automatically waits for the target point of the `dragTo` operation to appear in the DOM and become visible (Fixed #2404)

If a function chain step throws an exception, Siesta now finalizes the chain immediately, instead of waiting for the `defaultTimeout` period (or step timeout)

New command line option "build" to annotate test suite launches in the cloud infrastructure, also available in the reports (Fixed #3126)

Support for Ext JS 6.2.0 (minor adaptions to the grid layer)

BUG FIXES

Fixed a bug that could cause "waitForExtComponentQueryReady" flag to work in correctly in the applications built with Sencha Cmd

Fixed a bug that could cause iframe of the test to be created in quirks mode in IE

Version 4.1.3, 2016-08-05 14:08

KNOWN ISSUES

SlimerJS launcher uses an outdated version of XulRunner (corresponds to FireFox 33) on MacOS

FEATURES / ENHANCEMENTS

Siesta now issues a meaningful error, when trying to access cross-origin page using `pageUrl` option, instead of just crashing (Fixed #2626)

Siesta now issues a meaningful error, when `describe` (except the top-level one) is used without test instance (`describe()` instead of `t.describe()`) (Fixed #2091)

Launchers will now read the "siesta.json" file with the default config values from the current working directory (or from one of the parent directories), so once you've created such file, you can launch a test suite with just: `webdriver` (assuming `__siesta__/bin` is in PATH) (Fixed #2892)

API CHANGES

The "snooze" method now generates an "it" section

The format of config file, which can be specified with the "--config-file" option, has been changed. You will need to turn the previous object into the `cmd` key of the top object. Please refer to the updated "Siesta automation" guide.

BUG FIXES

Fixed a bug, that could cause Siesta to mistakenly switch to inaccurate mouse movement simulation mode for small cursor movements

Added a workaround for a NodeJS bug (https://github.com/mishoo/UglifyJS2/issues/1055) which could cause the output of the "--help" option to be truncated

Version 4.1.2, 2016-07-13 14:19

KNOWN ISSUES

SlimerJS launcher uses an outdated version of XulRunner (corresponds to FireFox 33) on MacOS

FEATURES / ENHANCEMENTS

It is now possible to specify a Firefox profile to be used for WebDriver launcher with --firefox-profile command line option (Fixed #1467)

HTML report now has a summary bottom bar and a button to load new data file with JSONS report (Fixed #2866)

The "breakOnFail" option processing has been refactored and improved. It now correctly stops the suite when it fails due to an exception, also stops the whole suite execution when running in automation mode (Fixed #2530)

New command line option --show-cursor - enables the visualization of the simulated mouse cursor when running in automation. Not supported in IE (Fixed #1946)

New option in the UI - "Observer mode" which switches to sequential run mode and `forceDOMVisible`.

The options menu in the Siesta UI is now automatically opened/closed on mouse enter/leave. Option entries now shows tooltips with short info.

"waitFor" action now supports defining an interval between the condition check (Fixed #2194)

The behavior of "mouseMovePrecision" option with intentionally very big value has changed, so that events are simulated for the *two* initial and *two* final points instead of one

API CHANGES

The "--filter" command line option has been un-deprecated with a new behavior which matches the tests filter field in Siesta UI. See the tooltip of the filter fields for supported format. (Fixed #1709)

The "tap/doubleTap/longPress/swipe" actions now correctly wait for the target element to become visible and reachable by the cursor

The handling of the "waitForAppReady" option has been adapted to the latest Sencha Cmd behaviour. It now gets the name of the application from `Ext.manifest` and then waits for the `launched` property of the application instance to become true.

BUG FIXES

Selenium JS bindings has been updated, which fixes the FireFox 47 issue

Version 4.1.1, 2016-06-30 12:22

KNOWN ISSUES

FireFox 47 has a bug which breaks FireFox WebDriver: https://github.com/SeleniumHQ/selenium/issues/2110 Wait for 47.1 and stay on Firefox 46 in the meantime

SlimerJS launcher uses an outdated version of XulRunner (corresponds to FireFox 33) on MacOS

FEATURES / ENHANCEMENTS

Added a check that launcher and harness page uses same version of Siesta

New command line option has been added for the WebDriver launcher - "--browser-arg", specifying command line arguments for the browsers (Fixed #2857)

New command line option has been added for the WebDriver launcher - "--restart-attempts", specifying how many times Siesta will try to restart a test if it has failed because of browser/WebDriver exception (Fixed #2837)

Assertions are now printed hierarchically, based on the "t.describe()/t.it()" tree structure (Fixed #2250)

The output from the test suite is no longer buffered for the --max-workers=1 case (Fixed #2836)

The --browserstack and --saucelabs command line options now read the default values from the environment variables (see the --help for details)

New test descriptor config has been added: `snooze`. It specifies a date, until which the test will be running as "todo" (all failurues from it will be silenced) (Fixed #2237)

New harness method has been added: `harness.getSelectedTest()`. It returns the test instance of the currently selected test in the UI, so you can call usual test methods on it (Fixed #2538)

The `harness.getQueryParam()` method has been made public and documented

The `preload/alsoPreload` configs now can contain nested arrays which will be flattened. Also the empty entries (like `null`, '', etc) will be ignored (Fixed #2382)

Added new bundle to the root of the distribution - "siesta-no-ext-all.js" which is basically the "siesta-all.js" prior 4.1.0 The "Getting started" guide has been updated with the new sample setup

Version 4.1.0, 2016-06-09 21:27

This release switches launchers code from using Rhino to NodeJS. As a result, the machine, running the launcher,
will have much lesser memory and CPU loads, which is important for big suites. We've also added 2 new report
formats - "html" and "jsons" and its now possible to visualize the test suite execution results.

KNOWN ISSUES

SlimerJS launcher uses an outdated version of XulRunner (corresponds to FireFox 33) on MacOS

FEATURES / ENHANCEMENTS

Launchers have been switched to NodeJS instead of Rhino. This change should speed up the execution and greatly reduce the memory consumption

IMPORTANT: Siesta user interace files are now compiled with Sencha Cmd, you will need to update your harness html page, see the "API changes" section below

Added new report type - JSONS (JSON structured). It is functionally equivalent to the exitsing JSON report, but all the results are structured hierarchically, based on the test groups information

Added new report type - HTML (JSONS+visualization). Can be used to see the test suite execution results in the browser (Fixed #1918)

The `t.cq()` and `t.cq1()` methods will now strip the leading `>>` characters if any

Disable output coloring in WebDriver launcher when not running in terminal, Windows output is now colored

The format names in command line options made case insensitive

SauceConnect and BrowserStack tunnel binaries has been updated to the latest versions

PhantomJS binaries has been updated to 2.1.1

API CHANGES

BREAKING: The "siesta-all.js" file is now bundled with the Siesta UI, compiled with Sencha Cmd, same about "siesta-all.css", you will need to update your harness html files. There's no need to include ExtJS on the page anymore, please see the /examples/index.html for a sample.

The "separateContext" option has been renamed to "enablePageRedirect" (old name is still supported).

"chainClick" method was deprecated, renamed to "clickAll".

BUG FIXES

Fixed a bug, preventing the inheritance of the `preload` config, defined on the group with the non-empty `pageUrl` config

Fixed a bug, that could throw "TypeError: cmp.isHidden is not a function" if component query was targeting a Ext.Widget instance

Version 4.0.4, 2016-01-20 12:08

KNOWN ISSUES

SlimerJS launcher uses an outdated version of XulRunner (corresponds to FireFox 33) on MacOS

Included PhantomJS binaries may not work on distributions other than 64 bit Debian/Ubuntu. PhantomJS team does not provide binaries for Linux platform.

FEATURES / ENHANCEMENTS

The new harness config option has been added - "mouseMovePrecision", which controls the speed of the all mouse movements. Setting it to some big number can provide significant performance boost for your tests.

Siesta now waits before typing if the passed target locator cannot be resolved

FEATURES / ENHANCEMENTS

A new method has been added to the test instance: "t.exit()" which stops the test execution (Fixed #2474)

The "enableCodeCoverage" option can now be disabled on the test file descriptor level

Updated Linux64 PhantomJS binaries with the one compiled for Ubuntu14.04

Added two new API methods for the Ext JS Grid layer "assertCellIsEmpty" and "waitForCellEmpty"

API CHANGES

The `beforeEach/afterEach` hooks now always receive the test instance being launched/completed as the 1st argument. The callback for asynchronous hooks is now passed as the 2nd argument. Please update your asynchronous `beforeEach/afterEach` hook accordingly. (Fixed #2476) Also hooks are now automatically recognized as asynchronous if they accept 2 arguments.

Version 4.0.0, 2015-10-12 18:03

This is the Siesta 4.0.0 GA release. The UI has been upgraded to use the Ext JS 6 and it uses the imageless Triton theme for a crisp and clean look.
Make sure you've scanned the changelog for previous 4.0 related entries.

KNOWN ISSUES

SlimerJS launcher uses an outdated version of XulRunner (corresponds to FireFox 33) on MacOS

Included PhantomJS binaries may not work on distributions other than 64 bit Debian/Ubuntu. PhantomJS team does not provide binaries for Linux platform.

FEATURES / ENHANCEMENTS

The new harness config option "domContainerRegion" defines the position of the DOM preview area in the result panel. You can set it to "south" for "portrait" orientation. (Fixed #1202)

API CHANGES

The "hostPageUrl" option is renamed to "pageUrl". Old name is still supported (but deprecated)

Harness classes have been switched from being purely static to "normal" classes which requires instantiation. The top line in your "index.js" file should now look like: "var harness = new Siesta.Harness.Browser.ExtJS()" The old usage is still supported, however deprecation warnings will be emitted to the console

The "loaderPath" config is no longer inherited for tests with "pageUrl"

Fixed a bug, that could cause "click" event not fired, when clicking on the target inside of ExtJS 6 grid, which requires to be scrolled into view

Version 4.0.0-beta-1, 2015-09-06 18:28

This release introduces a major refactoring of the Siesta automation launchers. Launchers now support parallelization,
so you can run your tests suites several times faster, depending on how many parallel sessions you can open.

Our screenshot API got some love too. It is now capable of capturing individual DOM elements and comparing the screenshots
with either previous version or with a corresponding screenshot from another set.

We've also added a new experimental headless launcher for SlimerJS, for those who prefer to test their projects on
the FireFox rendering engine instead of WebKit. It requires `xvfb` to be used in non-graphical environments, however
the big advantage of SlimerJS is that it (unlike PhantomJS) uses the real rendering engine from the FireFox web browser.

KNOWN ISSUES

SlimerJS launcher uses an outdated version of XulRunner (corresponds to FireFox 33) on MacOS

Included PhantomJS binaries may not work on distributions other than 64 bit Debian/Ubuntu. PhantomJS team does not provide binaries for Linux platform.

FEATURES / ENHANCEMENTS

A new and quite important command line option has been added: --max-workers. It controls the parallelization and defines how many browser windows can be opened at the same time. Normally it would be used with the BrowserStack or SauceLabs infrastructures. Please see the updated automation guide about details on parallelization implementation.

Screenshots are now cropped by the test page size

The `screenshot` method is now capable of taking screenshots of individual DOM elements (there's also a new convenience wrapper called `screenshotElement`)

A new `--screenshot-dir` command line option, specifying the base directory for the screenshots

A new `--screenshot-compare-with-previous` and `--screenshot-compare-with-base` command line options has been added, both perform comparison of screenshots taken during the test suite execution with the previous (or base) version

It is now possible to interact with popup windows, using the new `switchTo` test method

It is now possible to read command line options from the file with the JSON object, using the --config-file option

Introduced experimental option: --restart-on-blur (and corresponding harness option `restartOnBlur`). When enabled in automation, if the test window loses focus for any reason the test is restarted.

The "browserstack.local" WebDriver capability is now automatically set to `true`

Harness can now discover the list of test file descriptors from the filesystem, see `startFromUrl` method. The file with test descriptors can be auto-generated with the new `bin/discover` tool. Run the `bin/discover --help` for options. (Fixed #2199)

API CHANGES

Java 7 is the minimum required version now (enforced by the latest Selenium package)

The "*" value of the --browser config option for WebDriver launcher is no longer supported. WebDriver launcher run the test suite for single browser only (this may change in the future). This option now has a default value - "chrome".

The order of tests execution when running in automation mode with parallelization is naturally not strictly sequential. You should not rely on one particular test being launcher after another test (even if it goes below in the "Harness.start()" list) every test should run standalone.

Assertions from tests are now listed all at once, after the test has completed and not in real time as before (when running with the --verbose switch)

The --page-pause command line option has been removed

The --page-size command line option has been renamed to --chunk-size (old name is still supported), default value has changed to 20

The `--report-file-prefix` option has been deprecated in favor of `--report-file`. Both options now support templates.

The default value for `pauseBetweenTests` harness config and `--pause` command line option is now 10ms

The default value for the `sandboxBoundaryByGroup` harness config has changed to `true`

Version 3.1.0, 2015-07-09 14:00

This is a medium size release with quite a few improvements and bug fixes. Siesta will now handle complex web applications UI much better.
If you intend to click a button which is temporarily hidden behind some loadmask, Siesta will now patiently wait for the button to be accessible.
For you as a test author, this means less manual waitFor-steps and much more reliable tests. Same thing goes for moving or animating targets,
Siesta will wait for the target to be still before attempting to interact with it. We hope you'll see the results of this in your suite, less sporadic
failures and less race conditions. More information about this on our blog: https://bryntum.com/blog/testing-complex-web-applications-with-siesta

FEATURES / ENHANCEMENTS

Added `innerHtmlHead` and `innerHtmlBody` configs, to allow more precise control over the created iframe/popup for unit tests (Fixed #987)

Added a hot key to launch the currently selected test (CTRL-E). Can be configured with the 'rerunHotKey' config (Fixed #1187)

Siesta now handles unstable targets that move or are temporarily hidden while Siesta is moving the cursor towards it. This leads to a slightly different behavior when locating targets in the DOM (see below).

Siesta now handles calls to native `alert/prompt/confirm` methods without freezing the page. Use `setNextConfirmReturnValue`, `setNextPromptReturnValue` to control the results of these calls.

API CHANGES

Slight change in the behavior when clicking a target that is not visible or 'reachable' in the DOM. Previously if an element was not reachable, it could be interacted with anyway. Siesta is more strict about this now, and it will now wait for targets to be visible and reachable before click/drag etc.

Global variable checking now only reports the first 50 unexpected globals.

BUG FIXES

Fixed a bug - sometimes focus is removed from the 1st test of the current chunk (IE only)

Fixed a bug in the "Getting started" guide, where harness html wrapper file was still referencing ExtJS 4.2.0 files

Fixed a bug - dots in the test suite title were causing exception

Version 3.0.0, 2015-04-08 09:21

FEATURES / ENHANCEMENTS

Siesta can now run a Jasmine suite as its own test file, see the `jasmine` option of the `Siesta.Harness.Browser` class

Proper simulation of touch events has been implemented, this lead to certain API changes (see below).

A new command line switch "--touch-events" added for WebDriver launcher. Currently only recognized by Chrome. It enables the browser's touch events support, so you can test touch-based interfaces in normal desktop browsers

Implemented the "t.chainForArray()" method, which runs a chain of steps, generated from the elements of an array

Added a new config option: `failOnExclusiveSpecsWhenAutomated` which causes Siesta to add a failing assertion when running in automation mode and some exclusive spec (like `t.iit()` or `t.ddescribe()`) is found. Disabled by default.

When `waitForComponentVisible/waitForComponentNotVisible` method receives a string with component query, they now wait until it resolves to some component, instead of failing immediately

The context menu of the test files grid now has "Filter to current group" and "Filter to failed" items, with self explanatory actions

Certain improvements in memory consumption has been made. Siesta now accumulates memory much slower than before. We'll continue research in this area.

Selenium version upgraded to 2.45.0 (supports Firefox 36)

Siesta now add a failing assertion, if `next` callback of some chain step is called more than once

Added _experimental_ feature to run tests in the popups. See `runInPopup` option.

API CHANGES

IMPORTANT: Siesta UI is now based on ExtJS 5.1. Please update the links in your harness html files. Also, add the Ext charts package, if you're using the code coverage feature. See the updates examples for the proper includes to use.

IMPORTANT: The obsolete Siesta Mobile UI was removed. If you were using `siesta-touch-all.js` bundle switch to regular `siesta-all.js` and ExtJS desktop user interface

The implementation of "tap, doubleTap, longPress, pinch, swipe" methods was moved from the `Siesta.Test.SenchaTouch` test class to the `Siesta.Test.Browser` test class. Their interfaces were aligned to the interface of the "click" method.

The drag and drop using touch events has been re-implemented as the "touchDragTo", "touchDragBy" methods and the "touchDrag" action (you will need to update your touch-based tests that were using "drag" action)

`keepResults` option has been removed. Use the `keepNLastResults` option instead.

Version 2.1.1, 2015-01-28 13:07

KNOWN ISSUES

Event simulation on touch devices not working for Sencha Touch 2.2.1+. https://www.assembla.com/spaces/bryntum/tickets/996#/activity/ticket:

Sauce Connect does not seem to work when trying to establish a tunnel from inside of your local VM and your application server runs on your host machine

FEATURES / ENHANCEMENTS

Screenshot of the current state of the page can now be taken with the "screenshot" method, please see the docs for details (Fixed #1640)

When test page hangs for more than 3 min for some reason ("TIMEOUT: 3 minutes of inactivity" error), Siesta now will try to continue the test suite execution from the next test (instead of dropping a whole test page as previously) (Fixed #1753)

Introduced a new initialization point for the tests - "earlySetup" method. Please refer to the documentation. (Fixed #1818)

API CHANGES

`elementIsVisible` and `elementIsNotVisible` no longer filter out the non-visible ExtJS components, if provided with the component query (">> panel")

BUG FIXES

Fixed a bug, that could cause wrong focus behavior in IE10, 11 when `mousedown` event of the click is prevented

Fixed #1536: Siesta - Incorrect timeout value is shown after the fail of the test

Version 2.1.0, 2014-12-09 11:06

A new option "sandbox" has landed in this release, potentially improving test suite execution time up to 15x times,
please see https://www.bryntum.com/blog/speeding-up-siesta-sandboxing-now-optional/ for details

KNOWN ISSUES

Event simulation on touch devices not working for Sencha Touch 2.2.1+. https://www.assembla.com/spaces/bryntum/tickets/996#/activity/ticket:

Sauce Connect does not seem to work when trying to establish a tunnel from inside of your local VM and your application server runs on your host machine

FEATURES / ENHANCEMENTS

Implemented a new option "sandbox", potentially improving test suite execution time up to 15x times, please check the documentation for details

Added a new property "uniqueComponentProperty" which allows the user to customize a component property, used for identification when extracting targets of recorder actions (clicks, types)

Improved the exception logging, Siesta now writes the stack where supported (in browsers supporting the new window.onerror API)

The test methods from the "observable" group (like "firesOk", "wontFire" etc) now accepts Siesta.Test.Action target (Fixes #503). See also the related API change in the "waitForEvent" method

API CHANGES

When waiting for the presence of the target for various user actions, Siesta now also waits for the target element (or one of its children) to be the top-most element in the DOM (Fixed #1704)

The "waitForEvent" method now treats its 1st argument as Siesta.Test.ActionTarget and resolves passed strings w/o any prefixes as CSS query. Previously 1st argument, passed as string, was resolved as component query. To restore the previous behavior, add ">>" prefix to that argument.

Siesta now adds the last part of the test's URL to the `name` attribute of it's iframe, so you can distinct it in the Chrome debugger (Fixed #967)

The `runCore` config can now be specified in the test descriptor (both for individual tests and groups, Fixed #1062)

When starting a test suite, the WebDriver launcher will now move the cursor to the left-top corner of the screen, to avoid extra mouse events in the tests (currently not supported for Remote Webdrivers, including cloud testing)

BrowserStack tunnel binaries upgraded to 3.3

Selenium and IE Driver versions upgraded to 2.43.1

API CHANGES

Siesta no longer prevents focusing of the DOM elements with the "user-select : none" style when they are clicked

Siesta now discards non-visible components when targeting a Component Query and multiple matches are found

BUG FIXES

Siesta no longer prevents a "click" event from being fired, when the target of preceding "mousedown/mouseup" events has changed, but old and new targets have a parent/child relationship

Fixed a bug, that was preventing BrowserStack tunnel's binaries from self-update

Fixed a bug, that could cause the "mouseenter" event to not be fired for the parent node of the element, being hovered

Fixed a bug, that could cause a PhantomJS launcher to prematurely exit with the "TIMEOUT: Exit after 3 minutes of inactivity" message

Version 2.0.9, 2014-09-04 11:03

KNOWN ISSUES

Event simulation on touch devices not working for Sencha Touch 2.2.1+. https://www.assembla.com/spaces/bryntum/tickets/996#/activity/ticket:

Sauce Connect does not seem to work when trying to establish a tunnel from inside of your local VM and your application server runs on your host machine

FEATURES / ENHANCEMENTS

SauceLabs integration facilities added. You can now easily launch your tests in the cloud, choosing a browser and OS combination yourself. Please refer to the "SauceLabs integration" guide in the documentation

BUG FIXES

Fixed #1503: "ReferenceError: t is not defined" is thrown while executing Siesta.Test.ExtJS.Grid.clickToEditCell method

Fixed a bug, when 'mouseover' event was not simulated correctly when using ExtJS 5 in IE10, 11

Fixed a bug, when a ExtJS 5 checkbox component was not selected after clicking on it in IE10, 11

Version 2.0.8, 2014-06-27 12:21

KNOWN ISSUES

Event simulation on touch devices not working for Sencha Touch 2.2.1+. https://www.assembla.com/spaces/bryntum/tickets/996#/activity/ticket:

FEATURES / ENHANCEMENTS

BrowserStack integration facilities added. You can now easily launch your tests in the cloud, choosing a browser and OS combination yourself. Please refer to the "BrowserStack integration" guide in the documentation

Browser name and version are now included in the "classname" attribute in the JUnit report (Fixed #1393)

A new property of the test descriptor has been documented - `config`. It is applied directly to the test instance. Potentially may overwrite default properties and methods - use with care. See the documentation for the Siesta.Harness#start method (Fixed #1136)

Any method name can be used now for action shortcut, for example { waitForSelector : '.selector' }, instead of { waitFor : 'Selector', args : '.selector' } See Siesta.Test.Action.MethodCall (Fixed #786)

Added new configuration option for harness - "debuggerOnFail" (along with the corresponding checkbox in the options menu) It will issue a "debugger" statement every time a failed assertion is found (Fixed #462)

The filter field above the tests tree now accepts additional format of the filter string: group filter > test1 | test2 Only those tests that matches the "test1/2" patter *and* belongs to some group matching "group filter" will be included in the filter results

The "elementIsTop" method now accepts additional argument "offset", which allows to check the reachability of any point of the target element (not only center)

Version 2.0.5, 2013-12-20 10:29

This is the first release that includes the new event recorder feature. Please refer to the "Using the event recorder" guide in the
documentation. https://www.bryntum.com/docs/siesta/#!/guide/event_recorder Note, that for now the recorder is considered to be experimental and any features in it may change w/o notice.

KNOWN ISSUES

Event simulation on touch devices not working for Sencha Touch 2.2.1+. https://www.assembla.com/spaces/bryntum/tickets/996#/activity/ticket:

ChromeWebDriver version upgraded to 2.4, Selenium version upgraded to 2.37.0

The `enableCodeCoverage` config now supports the special value `ifloaded` which enables coverage only if appropriate files are loaded on the harness page

The automation command line interface get a new option `exclude`, containing regexp text, to remove the tests with matching urls from the current launch

The `args` config of the `wait` action can now accept a function, which will be called at the time of action processing and should return the arguments for the action

Any exceptions thrown from function chain steps will be now detected (unless in the "transparent exception" mode)

Implemented a possibility to inject the code coverage instrumentation hook for Ext.Loader in the middle of test preloads. Please refer to the documentation of the `getLoaderInstrumentationHook` method.

Implemented a possibility to inject the paths value for Ext.Loader in the middle of test preloads. Please refer to the documentation of the `getLoaderPathHook` method.

API CHANGES

The automatic "verifyGlobals" call will now be performed for a top level test only, instead of for each sub-test. The "expectGlobals" calls will add expected global to the collection of the top level test.

The main name for the `isaOk` assertion has been changed to `isInstanceOf`. The old "isaOk" and "isa_ok" methods will still be supported as aliases

The automation command line option `filter` has been renamed to `include`. The old name is still supported as an alias.

the `getElementAtCursor` method documented (made public)

BUG FIXES

Fixed a bug, that was causing PhantomJS launcher to always return 0 as exit code

Fixed a bug, that could cause the "Cannot read property 'clearTimeout' of null" exception when re-launching some test with sub-tests before its finalization

Version 2.0.3, 2013-09-12 10:22

FEATURES / ENHANCEMENTS

All arrays in the input for `chain` method are now flattened. Steps, presented with `null/undefiend` are ignored. This allows us to implement the conditional steps processing - see the updated docs for `chain` method

The "dragTo/dragBy" methods now will scroll their source elements into view (unless specified as an array of coordinates)

The check for whether element is scrolled out of the current view has been improved

When Siesta can't find a DOM element for some action it will now issue a warning in the assertion list

Simulating TAB key now attempts to focus the next available input

API CHANGES

The default value of the "allowEmpty" argument for the "compositeQuery" method has been changed to `true`

BUG FIXES

Fixed a bug, that was causing code coverage to fail, when trying to parse the call to `Ext.define()` with 1st argument being some JS expression

The "hostPageUrl" option, defined on the harness level, will no longer stops the inheriting of the `preload` option Also the previously private possibility to re-enable the inheriting of the `preload` option is made public and documented (need to set the `preload` option to string `inherit`) (Fixed #774)

Fixed a bug - "waitFor" method was generating a failure, when provided with number of milliseconds to wait, which is bigger than a default timeout value

Fixed a bug - in the transparent exceptions mode, exceptions from tests could not be reported in the UI

Fixed a bug that didn't fire events from nested iframes properly.

Version 1.2.0-beta-2, 2013-04-23 15:29

KNOWN ISSUES

The Sencha Touch based mobile UI has not been updated yet, use the ExtJS UI in the meantime

FEATURES / ENHANCEMENTS

added new assertion "selectorCountIs"

added new helper methods "scrollVerticallyTo/scrollHorizontallyTo"

API CHANGES

"waitFor" method now returns an object, that allows you to complete waiting immediately

"dragTo/dragBy" now use the current cursor position if the source is omitted

BUG FIXES

Fixed a bug, that was causing sub tests to have different set of config options (related to DOM access/events simulation) from the main test

Fixed #718: Simulating [ENTER] on the input should submit the form it belongs to (if any).

Version 1.2.0-beta-1, 2013-04-08 11:20

KNOWN ISSUES

The Sencha Touch based mobile UI has not been updated yet, use the ExtJS UI in the meantime

FEATURES / ENHANCEMENTS

Added support for BDD syntax, please refer to the guide "Writing tests in BDD conventions" for an introduction

Assertions "is", "isStrict", "isDeeply" and their opposites now work with the BDD placeholders generated with the new method "any"

Added support for "sub tests" - independent tests which have their own order of assertions. See the "subTest" method. Tests and assertions now form a tree structure. This is useful if you test several asynchronous processes in parallel and would like to see a sane order of generated assertions

When assertion description is omitted, Siesta now generates a sensible default text, for example: "1 is equal to 1", "Foo matches regexp /foo/i" etc (Thanks to Brian Moeskau for suggestion!)

Added `isString/isObject/isBoolean/etc` assertions, each checking the according type of the supplied value

Updated Selenium to 2.31.0. It includes built-in support for Safari WebDriver, so it no longer requires compilation from sources

API CHANGES

[BREAKING] 'overrideSetTimeout' on the Siesta.Harness class now defaults to `false`. To keep the old overriding behavior, you should set it explicitly to `true`.

[BREAKING] when 'hostPageUrl' option is set on some test descriptor, it will now turn it's 'preload' to empty array (Thanks to Brian Moeskau for suggestion!) (more precisely it will block the inheritance of the 'preload' option from parent descriptor/harness, 'preload' option still can be set to non-empty array directly on such test descriptor Fixed #577: By default ignore parent value and set "preload" to [] for tests with "hostPageUrl")

[BREAKING] The newly added "isArray" assertion replaces the previously existing private method "isArray", which was renamed to "valueIsArray" (if you were using that private method in your tests then rename its occurrences accordingly)

The "todo" method now starts a new sub-test

"firesOk" assertion has been completely rewritten and generalized, see the updates docs. The old signature will still be supported.

`willFireNTimes` assertion is deprecated and removed from the documentation, please use "firesOk" instead

[BREAKING] the JSON report format was extended to reflect the tree structure of assertions. Assertions now contains "type" property, can be one of the following: "Siesta.Result.Assertion/Siesta.Result.Diagnostic/Siesta.Result.SubTest". To keep the previous behavior, filter and use only "Siesta.Result.Assertion" entries.

BUG FIXES

Fixed a bug in the `matchGridCellContent` that caused the method to work incorrectly with plain strings

Fixed a bug, that was preventing the update of the test source code in the "View sources" panel

Fixed #470: This bug was causing the `While running: return Siesta.my.activeHarness.generateUnifiedPageReport()...` exception when using WebDriver launcher with IE and some test has failed by throwing an exception

FEATURES / ENHANCEMENTS

The test filter value is now saved in cookie and re-applied after harness page refresh

When attempting to click on hidden DOM element, a failing assertion is now added to the test, warning user that something is incorrect. Previously test was silently clicking in the left-top corner of the document's "body" (Fixed #418) (Thanks to Zombeerose!)

Added new "destroysOk" assertion to the ExtJS/Component layer (Thanks to Zombeerose for suggestion!)

PhantomJS binaries updated to 1.7.0

API CHANGES

Harness.start method now also accepts an array of test descriptors

Experimental: The "StartTest" function can now be called asynchronously, after some delay. In this case however, test can not be configured using object as 1st argument for StartTest (Fixed #379). (Thanks to GustavR for suggestion!)

BUG FIXES

Fixed #399: test should pass, but fails with step function does not use provided next function anywhere

Version 1.1.0, 2012-07-04 19:33

KNOWN ISSUES

FEATURES / ENHANCEMENTS

Sencha Touch support added

Added Siesta.Test.ActionTarget class, clearly describing how Siesta resolves targets for various actions. Target resolving is now a very flexible and powerful mechanism, make sure to check the Siesta.Test.ActionTarget docs.

Introduced a new (more stable) launcher for Selenium which uses WebDriver, see the automation guide for details

Added new actions "moveCursorTo, mouseUp, mouseDown"

`t.type` method now focuses the input element before typing, this also solves issue #209.

Added new method "clickSelector" (thanks to Zombeerose!)

Greatly improved and tested compatibility with Ext JS 3

Improved reporting from the "willFireNTimes / firesOk" methods

Show test folder status as hourglasses while it has any of waiting/running tests

waitForEvent now supports waiting for events fired by DOM elements, window object and other browser observables.

New harness setting - "pauseBetweenTests", to improve stability when running many tests in sequence.

PhantomJS was updated to version 1.6.0 for all platforms

API CHANGES

Siesta.Test.ExtJS.FormField#isEmpty has been deprecated in favor of #isFieldEmpty and will be removed in v1.2

Siesta.Test.ExtJS.FormField#hasValue has been deprecated in favor of #fieldHasValue and will be removed in v1.2

Version 1.0.8, 2012-04-03 11:24

FEATURES / ENHANCEMENTS

configuration of the test can now be specified in the test file itself - as the 1st or 2nd argument to the StartTest call (thanks to Zombeerose for this excellent suggestion!)

new action for "t.chain" - "wait"

new action for "t.chain" - "drag"

allow `t.chain` to also receive the array of steps

the `target` for the actions can now be also provided as function, which will be called before starting the action

`defaultTimeout/waitForTimeout` properties of the test class made configurable via harness or test descriptor

added new config to ExtJS layer - "waitForAppReady", will defer the test start until the first "launch" event from ExtJS MVC application

documented previously private feature that callbacks of waitFor* methods can receive some meaningful value as the 1st argument

slightly improved reporting from the "requireOk" assertion

added "t.waitForComponentNotVisible" (thanks to Zombeerose)

added "t.hasListener"

UI now contains a filter field for test files (experimental, to be revised after migration of UI to ExtJS 4.1)

UI now remembers the expanded/collapsed state of the test folders

API CHANGES

the last step for `t.chain` will now receive a no-op callback, instead of "null" (thanks to Maxim Bazhenov for suggestion)

experimental: The iframes with the tests now can maintain certain minimal size, default value is 1024x768. However, this feature is disabled by default, because it causes the displacement of the whole harness UI, in cases when that minimal size is bigger than available size. See Siesta.Harness.Browser#minViewportSize and Siesta.Harness.Browser#maintainMinViewportSize

BUG FIXES

fixed a bug in UI, when test file could not be checked/unchecked after test suite launch

`waitForViewRendered` now correctly handles the case when provided "view" has empty store

fixed a bug when "disabelCaching" query parameter could been added several times (thanks to Thorsten Suckow-Homberg for the report)

Version 1.0.7, 2012-02-14 20:00

FEATURES / ENHANCEMENTS

PhantomJS and Selenium launchers now can report the results of test suite execution in JSON and JUnit formats. Launch `bin/phantomjs`, `bin/selenium` w/o arguments for help, also see the updated Automation guide

Documented the events, fired by harness and individual test cases. Included new example: /examples/events, demonstrating how you can provide hooks for all stages of test suite execution