Test your plugins on multiple versions of EclipseQ7, 23.04.2013 by Ivan Inozemtsev View Comments
Typically UI testing tools work with applications. But what if a final product is an update site? While it might be acceptable to install features under development into some version of Eclipse during test creation, when it comes to continuous integration things get more complicated. Creating some RCP application which includes required features requires extra effort and may significantly slow down the build.
One of the greatest advantages of Q7, when it comes to continuous integration, is its ability to ‘install’ plugins from given p2 repository into some RCP before running UI tests. Besides making a build cross-platform and reducing build time, this feature allows to test product on several versions of Eclipse.
To illustrate this, we created a sample project on GitHub – http://github.com/xored/q7.examples.multirun. It contains a simple plugin (based on built-in Eclipse plugin template with a sample view) and few Q7 tests, but the real magic happens when you run these two commands in your shell on Windows, Mac OS X or Linux:
$ git clone git://github.com/xored/q7.examples.multirun $ mvn clean install
With a zero configuration, this simple command will build an update site with a plugin and run the same project with Q7 tests on four versions of Eclipse – 3.5, 3.6, 3.7, 4.2. When this project is added as a build job on Hudson, it displays nice results with a total of 12 tests: