| qftestJUI - 1.07 |
qftestJUI - Release notes for version 1.07.2
January 10th, 2005
New features:
- Besides the server-side Jython terminal, qftestJUI now also offers terminals for each live SUT-side Jython interpreter, accessible through the Clients menu.
- The Jython terminals are now much more sophisticated. Previous input can be edited and sent to the interpreter as a single line or by marking a region and pressing Return . A command history has also been implemented and is available through Ctrl-Up and Ctrl-Down .
- Automatic scrolling has been implemented for Drag&Drop. For each DRAG_FROM, DRAG_OVER or DROP_TO event, if the target position in the target component is scrolled outside the visible region of a scroll pane, qftestJUI will scroll it into view before performing the operation. If the target cannot be made visible at all, an InvisibleDnDTargetException is thrown.
- A Loop node may now have an optional Else node at its end which is executed if all iterations of the loop are run through completely without a Break. This concept is inspired by Python's for loop and is very useful when using a Loop to search for something, breaking out of it when the goal has been found. The Else is the ideal place for handling the case when nothing was found.
- qftestJUI now offers access to system environment variables using the special variable group ${env:...}.
- Support has been added for TreeTable components - combinations of JTree and JTable where one column of the table is rendered as a tree. The new resolver interface TreeTableResolver must be implemented to inform qftestJUI about the TreeTable.
- The ResolverRegistry class for registering various kinds of resolvers has been improved. Registering a resolver for a class can now be done by giving the name of the class and does no longer require importing the class first. In cases of classes defined through a custom ClassLoader this could be a real problem.
- The handling of Jython variables in Server script and SUT script nodes has been improved. Imported modules and variables defined at the top-level of the script are now visible inside functions defined in the same script.
- The search dialog is now non-modal, meaning it can remain open between searches without blocking any main windows.
- Nodes that query the SUT, i.e. Fetch text, Fetch index and Fetch geometry now optionally assign the result to local variables instead of global ones.
- In JDK 1.5 many sub-components internal to Swing have default names, for example JOptionPane labels and buttons or JComboBox drop-down lists. Unfortunately these names cause more trouble than they're worth and also prevent interoperability of tests with older JDKs, so qftestJUI suppresses these names. For JFileChooser and JOptionPane, better solutions are provided with the name resolvers in the qfs.qft library, as described in the tutorial.
- The title of test-suite and run-log windows has been changed to include an '*' character if the test-suite or run-log contains unsaved changes. Besides, the filename has been moved to the beginning of the title which makes it easier to discern multiple windows in the task bar.
Bugs fixed:
- The qftestJUI wrapper around the SUT is now better protected against interference by a SecurityManager.
- If multiple users with the same qftestJUI installation on a network file system tried to instrument JDKs simultaneously, a write conflict was possible. qftestJUI now tries to prevent this by locking the respective file.
- If the Throw exception on failure attribute of Check text nodes is set, the Error level of message attribute is now ignored.
- A bug in JDK 1.4 could cause an exception on Windows XP when trying to open a file selection dialog. qftestJUI now works around that problem.
- Undo/redo operations no longer discard possible modifications in the detail view without notice.
- A ClassLoader problem with JDK 1.3 and the new mechanism for connecting to the SUT has been fixed.
- Recording of Drag&Drop now works correctly with JDK 1.5 and DRAG_OVER events can be recorded on Windows as well.
- The hotkey for component recording (F11 by default) is now disabled in batch mode to prevent interference with running tests.
- Check mode could remain active when stopping and re-starting the recorder.
- Trying to load a run-log from disk and saving it again could cause problems if the run-log contained images.
- The record filter for implicit MOVED and SIZED events has been improved, likewise the filter for PRESSED modifier key events on Windows.
- The event tracking mechanism in the SUT was interfering with menu-item highlighting.
- The tutorial and its demos have been updated to better conform with the current qftestJUI version.
- Recording an image check on a table cell could get the wrong column if the user previously changed the order of the columns.

|