What is tapir?
tapir is a framework to develop UI regression tests. Its name is an acronym for Test API against Regression. tapir focuses on maintainablity, readability and robustness.
Unlike Capture/Replay-Tools tapir pursues the approach to implement test cases with a technology independent API.
Instead of reinventing the wheel tapir uses established open-source frameworks and tools. It applies patterns and concepts commonly known in the application development to the testing domain.
Easy to read & maintain
tapir ships with an API which reflects the test domain. This enables the possiblity to read tests as an executable specification and maintain them easily.
tapir tests are implemented in a technology independent manner. The specifics of the underlying UI technology (like HTML, JavaFX or Swing) do not pollute your test code.
You do not have to struggle with technical issues like synchronization between the test code and the tested software. tapir handles these situations internally.
tapir itself is splitted into several modules. Every module is a functional unit. There are a lot of modules (extensions) which can be used optionally.
tapir provides a couple of adapters which fulfill APIs of existing frameworks and tools. If no adapter for your framework or your tool is available yet, it’s very easy to write one by yourself.
Tests product lines
tapir offers support for testing multiple variants of the Software Under Test. By using feature markers tapir avoids the necessity to duplicate the test code.
Concise test code
As Test API against Regression suggests tapir is designed to write functional regression tests by using a domain-specific API. You do not have to deal with technical issues while writing your tests. You can read und understand your tests or the tests written by your teammates as an executable specification.
All the tests do not have any dependency to a certain browser and therefore you (or your DevOps) are free to decide which browser(s) to use for testing.
Great IDE and build tool integration
Benefit from all the cool features your Eclipse IDE provides. tapir is Xtend/Java based. Both languages have great Eclipse support by means of code highlighting, content assist or formatting. The editor notifies the user immediately if something is wrong with your code.
tapir integrates with established tools seamlessly. You can run any tapir test as plain JUnit test. The Eclipse IDE and your build tool just behave as they would with plane JUnit tests.
Because tapir uses these standard interfaces and formats integration in your CI server (like Jenkins) is simple as well.