What is it ?

- An innovative approach to UI testing.

- A toolkit to do real TDD on the UI layer

- Powerful, yet simple to use

Why Testatoo ?

Testatoo is the result of numerous real-world observations of developers in the trenches in the area of GUI testing.

Working for many years to promote the TDD approaches, we often faced difficulties in their implementation for the graphical layer of applications.

The "test FIRST" principle excludes all scenario recorder based approaches that only allow you to write a posteriori tests . Our experience has taught us that this path is a dead end (but we reserve this for another discussion...).

An other problem is GUI tests are brittle and costly! We do think that this is due to the lack of abstraction in existing UI testing tools.

Testatoo provides on one hand an abstraction of the UI business domain through an expressive API and on the other hand a way to express this domain via a DSL (a button semantically stays a buttons whatever the technology). With Testatoo you can therefore write tests with a seldom achieved level of expressiveness and make these tests INDEPENDENT of the underlying technology.

Getting Started

Specification

As a specifier I want to express my test (intention) BEFORE to code my page. So the intention is to have a page with two radio buttons to select the gender (male or female). The test can be expressed like this :

                    
                        assert that the maleRadio is not checked
                        and it has label "Male"

                        assert that the femaleRadio is not checked
                        and it has label "Female"

                        check the maleRadio
                        assert that the maleRadio is checked
                        assert that the femaleRadio is not checked

                        check the femaleRadio
                        assert that the femaleRadio is checked
                        assert that the maleRadio is not checked
                    
                

Import Testatoo librairies

Testatoo librairies can be added using maven :

                    
                        <dependencies>
                            <dependency>
                                <groupId>org.testatoo</groupId>
                                <artifactId>testatoo-core</artifactId>
                                <version>2.0.b1-SNAPSHOT</version>
                                <scope>test</scope>
                            </dependency>

                            <dependency>
                                <groupId>junit</groupId>
                                <artifactId>junit-dep</artifactId>
                                <version>4.11</version>
                                <scope>test</scope>
                            </dependency>
                            <dependency>
                                <groupId>org.seleniumhq.selenium</groupId>
                                <artifactId>selenium-java</artifactId>
                                <version>2.39.0</version>
                                <scope>test</scope>
                            </dependency>
                        </dependencies>
                    
                

Write the test

                    

                    
                

Support

If you need some help using Testatoo, you have a few options:


1. The Docs

If you haven’t seen the Testatoo docs yet, that’s the place to start.

2. Our Google Group

If you've already RTFM, the next step is to head over to the Testatoo groups and ask your question there.

Found a Bug ?

If you’re pretty sure you’ve found a bug in Testatoo, the best thing to do is file a new GitHub issue. We keep a close eye on our issues, and we’re always working on the next version of Testatoo, so there’s a good chance we can solve your problem for you pretty quickly. Please include as much detail as you can (including a code sample), if possible.

Credits

@altus34
@mathieucarbou