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.
Join Testing Is Documenting
Discord Server to ask questions and discuss features/bugs
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.
WebTau console output keeps you informed at all times:
Data Coverage output example:
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()
Unbelievably simple way to wait and validate WebSocket messages:
Personas concept lets you simplify Authorization Testing scenarios:
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));
}
}
Leverage out of the box rich reporting to speed up investigation and persist testing evidences: