-
Changes in Version 3.6.2 (2021-01-22)
Changes in Version 3.5.0 (2020-06-04)
Changes in Version 3.4.2 (2020-03-26)
Changes in Version 3.3.1 (2019-08-22)
Changes in Version 3.3.0 (2019-01-09)
Changes in Version 3.2.1 (2018-12-21)
Changes in Version 3.2.0 (2018-08-27)
Changes in Version 3.1.1 (2018-06-29)
Changes in Version 3.1.0 (2018-03-27)
Changes in Version 3.0.0 (2018-02-20)
Web Framework Module
tapir’s Selenium integration is able to automate the interaction with any web framework. By default, only basic HTML components are implemented, but you can build tapir components for the components of your web application. For further information consult the chapter HTML Components.
It’s recommended to divide each web framework binding into an API and an Implementation module. The API module provides some interfaces which reflect the possibilities a component offers to the user. The Implementation module provides an implementation of the API.
Dependencies
In order to use the basic HTML components you have to add this compile-time dependency…
<dependency>
<groupId>de.bmiag.tapir</groupId>
<artifactId>tapir-html-basic-api</artifactId>
</dependency>
… and this runtime dependency:
<dependency>
<groupId>de.bmiag.tapir</groupId>
<artifactId>tapir-html-basic-impl</artifactId>
</dependency>
Example
Let’s take a closer look at a Button component. Imagine how a user can interact with a button. The major action he can perform is clicking the button. Beside this action he can decide, if the button is displayed (or hidden) and if it is enabled (clickable). The corresponding interface exactly reflects these possibilities by providing the following methods:
- boolean isDisplayed()
- boolean isEnabled()
- void click()
All of these methods are inherited from interfaces which are defined in tapir’s UI API:
- Displayable provides isDisplayed()
- Enabable provides isEnabled()
- Clickable provides click()
This is the complete Button interface:
Button.java
public interface Button extends TapirElement, Displayable, Clickable, Enabable {
}
We don’t want to investigate the implementation further as this is subject of the corresponding customization chapter.
- Previous
- Next