webtau

WebTau (web test automation) is a testing API, command line tool and a framework to write unit, integration and end-to-end tests. Test across REST-API, WebSocket, GraphQL, Browser, Database, CLI and Business Logic with a consistent set of matchers and concepts. REPL mode speeds-up tests development. Rich reporting cuts down investigation time.

APACHE-2.0 License

Stars
366
Committers
8

Discord Server

Join Testing Is Documenting Discord Server to ask questions and discuss features/bugs

WebTau

Web Test Automation User Guide

WebTau (Web Test automation) - concise and expressive way to write end-to-end and unit tests.

Test your application across multiple layers and use unique features:

There are many modules, but you can use any module you need independently, or use all the modules at once with convenient single imports.

Unique Console Output

WebTau console output keeps you informed at all times:

Data Coverage output example:

Supercharged Unit Testing Capabilities

Testing Command Line Tools

Testing command lines tools never been easier:

def helloWorld = cli.runInBackground("scripts/hello-world")
helloWorld.output.waitTo contain("enter your name")

helloWorld.send("webtau\n")
helloWorld.output.waitTo contain("hello webtau")

helloWorld.stop()

Learn More

WebSockets

Unbelievably simple way to wait and validate WebSocket messages:

Learn more

Personas

Personas concept lets you simplify Authorization Testing scenarios:

Java, Kotlin, Groovy Scripts

Tests can be written and executed as scripts via command line or using JUnit integration and build systems.

browser testing example using scripting

scenario("search by specific query") {
    search.submit("search this")
    search.numberOfResults.waitToBe > 1
}

$ webtau testscript.groovy

browser testing example using JUnit

public class WebSearchJavaTest {
    @Test
    public void searchByQuery() {
        search.submit("search this");
        search.numberOfResults.waitToBe(greaterThan(1));
    }
}

Rich Reporting

Leverage out of the box rich reporting to speed up investigation and persist testing evidences: