Skip to end of metadata
Go to start of metadata

Release notes

This is second major release of Q7.

Key features for this release are

  • Execution stability.
  • Support for test case debugging.
  • Improved test case/ecl context editor's.
  • Switch to plain text format, for fluent team support.
  • Support for test suites.
  • OS-independent keyboard shortcuts

  • Includes ECL 1.1. With some great performance improvements and new assertion commands.

Migration issues

  • Test cases from 1.1.x version of Q7 are fully supported.
  • Warning Since we introduce OS-independent shortcuts, all test cases should be migrated using Search and Replace feature. Please refer to OS-independent keyboard shortcuts.

Major changes

Improved editor support

One of the great advantages of Eclipse is its highly customizable text editors. Prior to version 1.2 Q7 was working with editors on low-level widget level.

With 1.2 editor support are in  fully "way you see what you get" mode. 

  • New text editor access command get-text-viewer:

    So no interference with early recorded test cases.
     

  • New code position command:

     

    So after execution we see in editor exactly same position.

     

  • Commands know about folding, and other projection features.
    So writing test for fully featured text editors is not a problem any more. 
  • Ruler commands:
    Now it is possible to use special ruler commands:
    Following code will fold comment block starting on line 1, and add breakpoint to line 10.


    Also it is possible to use context menu agains some line in rulers. {!} But be aware of "hover-ruler - line N" to be recorded before menu, so correct position will be used.

  • Improved style ranges in assertions:
    Assertions for text are a little bit more usable.
     

    Now we can verify editor color highlighting very easy.

Enhanced Testcase editor and ECL context editor.

Started with 1.2 we have fully functional "Ecl editor" for both Testcases and Ecl contexts.

Testcase editor now support:

  • Undo/Redo for script commands/Description content.

     
  • Toggle Comment/Uncomment action via M1 + '/', M1 +7 ( Alt + '/', Alt + 7 for windows/linux)
     
  • All Word based Text editor commands
     
  • Move all selected lines by Tab/Shift-Tab to one tabs left/right.
     

Debug of Test cases

 Next big advantage of Q7 1.2 is Support of Testcase debugging.

Following features are supported:

  • Breakpoints.
    • Add/Remove breakpoints then debug is in action.
    • Breakpoints integrated into Breakpoints View.

  • ECL execution stack trace.
     
  • Step In/Step over execution.
    - Step In -  executes one next command, so all commands on line are processed.
    - Step Over - executes all commands on current line, and go to next one.
  • Do some stuff in AUT then suspend.
    Then Q7 stop on breakpoint - it Unfreeze AUT, so it is possible to perform some actions. Warning But be aware changes in AUT could cause test to fail. 
  • Support for restart of test case during debug. - Restart is supported the same way as in Recording/Replay. 
  • No focus issue then debug.
    Because of Q7 runtime architecture and ideas, there is no need to worry about focus/active windows on debug
    Since all ECL commands know about target control, so all operations are go to destination, but not your dev Eclipse instance. 

Support for Test suites

Since 1.2 Q7 has build in support of grouping Test cases into Test suites.

Testsuite is a way to logically organize test cases. Each test case could be included into any set of test suites. Suites also could be included one into another.

To create test suite "New Testsuite" wizard could be used.

After suite is create we could add test case references to it.

Test cases could be executed the same way as test cases.

Testsuites are saved in portable format:

OS-independent keyboard shortcuts

One of the challenges in test case portability across platforms is difference in keystrokes. For example, on Mac OS X many shortcuts use Command instead of Control. The Eclipse platform has platform-independent way of representing modifier keys (see Eclipse help):

Modifier

Windows

Linux

Mac OS X

M1

Control

Control

Command

M2

Shift

Shift

Shift

M3

Alt

Alt

Option

M4

undefined

undefined

Control

Thus, despite the fact that Copy command is represented as ⌘C on Mac OS X and Ctrl+C on Windows and Linux, in Eclipse it is represented as M1+C on all platforms, and here's an example what we get in recorded script when using keyboard shortcuts:

This ECL code can be executed as is on any platform.
However, there's one more place where keyboard shortcuts are not represented in platform-independent way – tooltips. Here's an example:

When we record clicking on this button, we get a snippet like this:

Trying to reproduce it on Windows will cause the test fail, because there's no such button. Prior to Q7 version 1.2 the only way to make test portable was to use regular expressions for selecting, like this:

But since 1.2, we replace text representation of accelerator keys in tooltips:

and produce code which can be replayed as is on any platform without modifications:

The disadvantage of this approach is that this change breaks existing test cases, but migration can be done quick and easy using global search-replace in Q7 and replacing Ctrl+ with M1+, Shift+ with M2+, and Alt+ with M3+:

Other changes

Find tests using given context

Now Q7 allow to find all elements used following context:

Results are available via Search view.

Labels: