Produkt prisen 2009
- Winner in the IT category

0.46

Released September 9., 2008

We are still working hard towards our version 1.0 milestone, this time, though, we have focused on a particular task that one of our customers was faced with: automating the service port of one of their products to automatically upload new configuration files.

Being made aware of new possible tools is something that we here at Sequanto are very fond of, and we already had a "text display" tool on our roadmap for one of the first post-1.0 releases.

So SeqZap now has a general text display tool, used to automate and test text based applications, and we are already working on improving the methods available when doing this kind of automation.

XY Display tool

The XY Display tool provides the basis for automation of all kinds of text based interfaces, it provides methods to find text on the display and assert that the displays show the expected output.

XYDisplay panel showing a simple screenshot

The screenshot above shows the most common way of automating an XY display: showing what is actually on the screen by using the XY display panel.

Call to XY Display's Find Text method

One of the methods provided by the XYDisplay is the Find Text method, here it is used to find the Download text shown in the previous screenshot.

Call to XY Display's Find Text method

Element setup for the Find Text method shows how the interactive environment of SeqZap bridges the gap between script writing and having a live connection to the target we want to automate.

The panel display can be used to mark the region of the screen to search for a particular text string, or to show the region which was previously selected. This gives a much more intuitive workflow than the old-fashioned "specify region, test, edit region, test, repeat..." routine.

XY Terminal tool

Since the XY Display tool is completely generalized, it does not define the origin of the characters it should display. Therefore a tool is needed to fetch the characters needed, the XY Terminal supports VT100 and Ansi connections over any Stream tool like, for instance, a serial port.

File transfer tool

File transfer tool call

Because downloading and uploading files is such a common thing to do, especially when working with embedded devices, SeqZap now comes with a general file downloading/uploading tool which implements all of the user interface and framework required to do file transfers. Third parties can then add support for their file-transfer protocol by implementing a simple plugin interface at which point the file transfer tool automatically includes for that particular protocol.

A lot of protocols are, of course, more or less standardized and SeqZap will gradually support more and more protocol plugins, in this first release we have included support for XModem.

What file you upload are of course all up to you, everything from configuration files up/download to firmware upgrading is possible.

Docking layout

The opened/closed views, commonly known as the docking layout, is now saved on a per-project basis rather than previously, where there was just one docking layout which were used for all projects.

This allows each user to customise how SeqZap Studio looks for each project she is working on, for instance, a project where the primary thing is to listen on the ModBus and serial ports and log what is going on commonly has a very different docking layout than a project solely used for running an 8 hour automated tests each night.

Stream toolbox improvements

The stream toolbox has been upgraded with two new panels, the data counter and the data sniffer. The stream tools are also much better at reporting their status back to the user, either in the workbench tool line in a script, or in the active tools view.

The data counter monitoring a stream.

The data counter simple reports the number of bytes transmitted through the stream.

The data sniffer logging the bytes transmitted over a stream.

The data sniffer logs all the data transmitted through over a stream. It is possible to choose to write the bytes as hexadecimal values, or let the sniffer try and decode the bytes as UTF-8/ASCII or some other character encoding.

Moreover, the data sniffer can also log the execution time of each data transmission, this makes it very easy to correlate the data transmitted with actions performed during script execution using reports or execution logs.

File parsing performance improved

In this release we moved file parsing to a separate thread of execution, this means that the user interface is much more responsive while coding.

Previously this has not been a problem since parsing usually was very snappy, but people have started building quite large projects in SeqZap where the parsing time reached several seconds! This should all be history now, waiting for the parser that is.

Bugfixes/improvements

#409"Locking modbus" when using panels does not always work.
#424Workbench Tool Setup crashes when changing setup method.
#432Local variable cannot be seen in later steps if the assignment has error.
#435Make it possible for ZapTools to create ExecutionState levels.
#442Use new "fast" textbox in all StepDataGeneric setup pages).
#450Selecting Cut when several procedure steps selected crashes Studio.

Previous release