As of today we can announce a double release of Mozmill versions. While for Mozmill 1.5 it might hopefully be the last update, our final Mozmill 2.0 release is coming really close. The now released RC5 should be the last release candidate.
Another update of Mozmill on our 1.5 branch was necessary given that the Thunderbird folks detected a memory leak (bug 876399) in our module loading code via a sandbox. This is now fixed and different tests no longer share global objects anymore.
Beside that the following improvements are also included:
In some cases we failed to correctly select an item from a menulist. As it has been turned out, a focus issue was the problem (871441)
about:newtab is now preloading its content, and causes our waitForPageLoad() method to fail when opening a new tab. That only happened with Mozmill 1.5 given for Mozmill 2.0 the whole code has been rewritten (887258)
At least on OS X Firefox shows a system dialog now, when a test tries to enable the geolocation feature for a page. To stop that from happening a new default preference has been added to Mozmill, which stopped that from appearing (897891)
As mentioned above it will most likely be the very last release of Mozmill 1.5. Further changes will completely go into Mozmill 2.0, which has been designed to be 100% backward compatible.
It has passes a fair amount of time since our last RC4 for Mozmill has been released mid of June. That was more as we have anticipated, but it was worth the time. In all those weeks we fixed 32 bugs for Mozmill and 4 bugs for JSBridge.
The most important changes are:
JSBridge forced single and multiple conversions of strings to unicode where it was not necessary. As result sent data was not correctly transmitted or completely dismissed. That was a pain given that test results were inaccurate (761603)
In some cases Mozmill failed to send data during the shutdown of the application via the bridge to the Python process. As result we hit an assertion and with debug builds the application crashed due to an invalid access to an object in our socket implementation via NSPR (865690)
Another problem in our socket implementation was the missing handling of failed send requests. Before the patch has been landed, JSBridge simply ignored that and we hit a dataloss issue when too much information had to be send through the bridge (764640)
Our local HTTP server based on httpd.js was instantiated once for each test. This caused a lot of trouble and overhead. Now it is created on startup of the application and keeps running until shutdown. With that you will also be able to use it while Mozmill is in manual mode (881657)
Various changes to the restart logic have been included. With that we also got our state machine implemented for restart tests (895657).
Specifically for Metro Firefox we landed support for new touch events (880426)