22. June 2015
2 min

WebTester goes Open Source and other Changes

It has been quite a while since my last blog post. In the mean time a lot has happened. In this post I will get you up to speed with all thing testIT WebTester.

Open Source

First off, WebTester will go open source this year! We don’t have an exact date yet but we know it will be 2015 and we know it will be ASAP. There are quite a few things to figure out first:

  • Which open source license should be use?
  • Where should we host the code?
  • How do we provide fertile ground for a community to grow?

In the mean time the free to use version of WebTester is still available. For more information go and visit the official documentation site.

New Project and Version Numbers

As a prelude for WebTester going open source we decided to change the project structure to one that is more open to change and extension than before. As part of these changes we also decided to reset the version number to a target release of 1.0.0 for the open source project. For an overview of all the changes take a look at the changelog. Early access versions are available starting with 0.9.0 and going up to the current version of 0.9.4.

Project Structure

We changed the group-id of all our artifacts to info.novatec.testit and removed the testit prefix from all artifact-ids.

The new module names are:

  • webtester-core
  • webtester-support-chrome
  • webtester-support-firefox
  • webtester-support-ie
  • webtester-support-junit
  • webtester-support-phantomjs

The core module no longer depends on any specific selenium driver implementation. Like with the Selenium dependencies you can decide which browsers to use by adding the appropriate artifact. The PDF module is not yet migrated to the new project. It is definitely planned to do so at some point in the future but it might not happen until the release of v1.1.0.

JUnit Support

There is a new support module for JUnit. Its primary class is the WebTesterJUnitRunner. This runner can be used to manage the browser lifecycle of any JUnit based tests. Additional features include property injection and automatic navigation to entry points of your application. For more details visit our JUnit Guide.

Extended Configuration

In order to better support multi level project structures we extended the WebTester configuration to load an additional testit-webtester-global.properties file from the classpath. This allows for more flexible configurations in cases where there are multiple projects working of a common base. For more details visit our Configuration Guide.

Better AJAX Support

In order to better support AJAX heavy applications all actions executed by the framework will automatically be checked for StaleElementReferenceException occurrences. In case this exception is thrown the page object in question will automatically be reset and the action retried with a timeout. Only if this mechanism fails again will an exception be thrown. In cases where this mechanism is not enough a manual reset of any page object or list of page objects can be triggered manually by using the Invalidator class. For more details visit our AJAX Guide.

This concludes the short overview of all the changes to the WebTester project. Keep an eye out for new blog post leading up to the open source release of v1.0.0 later this year!

Comment article