Archive «New and Noteworthy»

Q7 1.3.10 most noticeable improvements

New and Noteworthy, Q7, 15.01.2014 by Ivan Inozemtsev View Comments

Congrtulations on past holidays! On December 23rd we have released Q7 1.3.10 (the full list of resolved issues is available here), and in this post I’d like to describe a three improvements and bugfixes which I personally like the most.

Read more…

Q7 1.3.7 released

New and Noteworthy, Q7, 9.09.2013 by Ivan Inozemtsev View Comments

In Q7 1.3.6, released a week ago we released two big new features – verifications and procedures. But we were too excited and hurrying to reveal these features, that made a few annoying bugs. Today’s version contains important bugfixes and small, but useful improvements. Full list of resolved issues is available here, and below just a few interesting improvements:

Read more…

Introducing verifications

New and Noteworthy, Q7, 6.09.2013 by Ivan Inozemtsev View Comments

In my opinion, a good functional test can be represented like this:

just-test

Therefore, a test case takes an system under test in some well-defined state, performs some actions, which transfer a system into another state, and then verifies that the final state is correct.

Thus, in a test case we need to specify the following:

  • Initial state
  • Actions to perform
  • Expected final state
Read more…

Procedures and variables

New and Noteworthy, Q7, 3.09.2013 by Ivan Inozemtsev View Comments

While automated recording in Q7 works well, a lot of advanced users prefer to write ECL scripts manually, as it allows to create more flexible and maintainable test cases. In new version of Q7 we have significantly improved the expressive power of ECL by introducing user-defined variables (via let blocks) and user-defined procedures (via proc commands). Before going into details, here’s a simple example – suppose we are testing Java editor and would like to hover a ruler on a currently selected line. Here’s how it can be done without using variables in a plain old ECL:

  get-editor "Program.java" | get-left-ruler |
      get-ruler-column AnnotationColumn | hover-ruler 
        [get-editor "Program.java" | get-text-viewer | 
         get-property "caretPosition.line" -raw]

This is not so much easy to write, and, what is more impotant, not so easy to understand. Now take a look how the same actions can be expressed using variables:

  with [get-editor "Program.java"] {
    let [val currentLine 
           [get-text-viewer | get-property "caretPosition.line" -raw]]
        [val rulerColumn 
            [get-left-ruler | get-ruler-column AnnotationColumn]] {
        $rulerColumn | hover-ruler $currentLine
    }
  }

And if we need to do this operation multiple times in different scripts, we can rewrite it to a procedure:

Read more…

What’s new in Q7 1.1?

New and Noteworthy, 21.11.2011 by Alexander Alexeyenko View Comments

What’s new in Q7 1.1?

Advanced assertions

Add assertions to any property of UI elements and referenced objects, no matter how deep, works with custom controls too! Read more…

Functional and UI Testing for Eclipse-based Applications

Test automation solution, handcrafted for Eclipse. Modern and easy to learn IDE.

Product Health Analytics and Support Automation Platform

End-user and product analytics solution that gives you rich insights into your application health & performance.

Eclipse-based IDE for the Fantom Programming Language

Full-featured Integrated Development Environment for emerging Fantom programming language.