Skip to end of metadata
Go to start of metadata

Deprecated Documentation

Icon

This documentation is deprecated. It contains only information relevant up to v0.9.9 / v1.0.0 of WebTester. For the current development visit our GitHub page or the Project Homepage.

Introduction

The testIT WebTester framework is a best practice solution for testing web applications. It is based on the Selenium web testing framework and extends it with a streamlined type-save API for interacting with elements of your web application.

The most prominent features are:

  • Type-save API
    Interact with Button, TextField and a whole lot of other functional classes instead of a generic WebElement interface.
  • Extendable Event System
    Each interaction with the browser produces events. These events are send to a central service where listeners can be registered in order to react to all or just specific events. Out of the box a logger, screenshots on exception and html protocol listener are provided.
  • Everything is a Page Object
    Every element class you encounter is a page object (see "Page Object Pattern"). Page objects can be nested to any degree needed. This makes re-usability and custom component creation easier then ever.
  • Optional Interaction Marking
    Activating this feature highlights every UI-element the framework interacts with by changeing its CSS properties. This allows for more traceability when watching or recording a test.
  • Full Power of Selenium
    WebTester is build around the Selenium WebDriver API. In cases where the framework does not provide a necessary function, it is still possible to get to the underlying selenium classes like WebDriver or WebElement.

Page Object Pattern

The Page Object Pattern is the basic design principle on which the testIT WebTester was build. Page Objects are classes that represent a page of your web application. They provide methods that allow the test developer to interact with the page without having to know any of the actual HTML or other implementation details of that page. They provide an abstraction layer that encapsulates the "How" an interaction with a web page is done and lets the test developer focus on the "What" to do with the application.

What distinguishes the testIT WebTester from its Selenium base is the fact that all elements you interact with (buttons, links, textfields etc.) are implemented as page objects. That makes it easy to build custom components fitting your project needs because anything that is a page object can be used in the same way as all the "out of the box" elements. Creating custom components was never easier!

For more information on the Page Object Pattern see also:

 

  • No labels