Error formatting macro: pagetree: java.lang.NullPointerException

Versions Compared


  • This line was added.
  • This line was removed.
  • Formatting was changed.

Q7 Runner is a headless product for execution of Q7 tests in continuous integration environment. There are two ways to run tests using Q7 tests in continuous integration environment:


  • Via in a command line, suitable for builds based on ANT/shell scripts. 
  • Via Q7 Maven Plugin, suitable for Tycho builds


  • .

Q7 Maven Plugin automatically invokes Q7 Runner with a command line arguments based on POM configuration, therefore all information below is equally applied both to Q7 Maven Plugin and Q7 Runner.

As an execution result, Q7 Runner produces JUnit XMaL report, which is understood by Continuous Integration servers such as Jenkins/Hudson and Atlassian Bamboo, and human-readable HTML report.

One of the great advantages of Q7 Runner is that you don't need to build a complete RCP in order to run Q7 tests – it can create application-under-test using update site(s) and existing RCP, such as Eclipse SDK or Eclipse Platform. Therefore, it is very easy to organize build process in steps like this:

  1. Build update site with your product
  2. Execute Q7 tests 
  3. Only if all tests have been passed, build RCPs for all platforms. 

We find this approach very handy and use it for our products, including Q7 itself (you can take a look at our build plans here and here). As an execution result, Q7 Runner produces JUnit XML report, which is understood by Continuous Integration servers such as Jenkins/Hudson and Atlassian Bamboo, and human-readable HTML report.

The licensing mechanism for Q7 Runner differs from licensing of Q7 IDE – instead of using floating licenses we use license files, since servers used for continuous integration often don't have an internet access. There are two kinds of license files:

  • Node-locked. These license files allow execution of Q7 tests on a single machine under a single user.
  • AUT-locked. These license files can be generated by request for open-source projects. Thus anyone can checkout the source code, build product and run tests. 

How to get Node ID and Q7 Runner license file?

To get the Node ID of current machine, execute the following command line:

Code Block
java -jar /path/to/q7/plugins/org.eclipse.equinox.launcher_1.2.0.R36x_v20110502.jar -application com.xored.q7.licensing.util 

Licensing util is included both into Q7 Runner and Q7 IDE, so you could use any of them to get your node ID. 

The output of this command should look like this:

Code Block
Node ID of this machine: 659d27b6-036d-41c8-988d-40b594826e0e 
Please email with this node id to get your license file 
By default Q7 Runner assumes that license file path is ${user.home}/com.xored.q7.runner.l9,
to specify custom location:
  - Use -licenseFile arg when using Q7 Runner from command-line
  - Add <q7><licenseFile>path-to-file</licenseFile></q7> element into plugin configuration when using Q7 Maven Plugin
Email this Node ID to and we will respond you with evaluation license file.

more on this is is described in our blog –

Starting from version 1.3, Q7 uses pricing and licensing model based on execution count. According to this model, it does not matter how many Q7 runners and IDEs are used and pricing depends on a total test execution count per month associated with a person/company. More information is available at Therefore, in order to execute tests using Q7 Runner/Q7 Maven Plugin it is required to specify credentials in command line arguments or POM configuration. Instead of username and login, Q7 Runner uses as credentials the following parameters: