Skip to content
master
Go to file
Code

README.md

webtau

Web Test Automation User Guide

logo

Simple REST tests

JUnit 4 and JUnit 5

Groovy

@RunWith(WebTauRunner.class)
class WeatherIT {
    @Test
    void checkWeather() {
        http.get("/weather") {
            temperature.shouldBe < 100
        }
    }
}

Java

@RunWith(WebTauRunner.class)
public class WeatherIT {
    @Test
    public void checkWeather() {
        http.get("/weather", (header, body) -> {
            body.get("temperature").shouldBe(lessThan(100));
        });
    }
}

JUnit5

@WebTau
class WeatherIT {
    @Test
    void checkWeather() {
        http.get("/weather") {
            temperature.shouldBe < 100
        }
    }
}

Groovy command line

Support for command line friendly automation and exploration with Groovy specific simplified runner

webtau weather.groovy
scenario("check weather") {
    http.get("/weather") {
        temperature.shouldBe < 100
    }
}
{
  "temperature": 88
}

Simple GraphQL tests

JUnit 4 and JUnit 5

Groovy

@RunWith(WebTauRunner.class)
class WeatherIT {
    @Test
    void checkWeather() {
        graphql.execute("{ weather { temperature } }") {
            weather.temperature.shouldBe < 100
        }
    }
}

Java

@RunWith(WebTauRunner.class)
public class WeatherIT {
    @Test
    public void checkWeather() {
        graphql.execute("{ weather { temperature } }", (header, body) -> {
            body.get("data.weather.temperature").shouldBe(lessThan(100));
        });
    }
}

JUnit5

@WebTau
class WeatherIT {
    @Test
    void checkWeather() {
        graphql.execute("{ weather { temperature } }") {
            weather.temperature.shouldBe < 100
        }
    }
}

Groovy command line

Support for command line friendly automation and exploration with Groovy specific simplified runner

webtau weather.groovy
scenario("check weather") {
    graphql.execute("{ weather { temperature } }") {
        weather.temperature.shouldBe < 100
    }
}

For single query requests, you may also omit the query name while validating the response:

scenario("check weather") {
    graphql.execute("{ weather { temperature } }") {
        temperature.shouldBe < 100
    }
}
{
  "data": {
    "weather": {
      "temperature": 88
    }
  }
}

Robust UI tests

scenario("search by specific query") {
    search.submit("search this")
    search.numberOfResults.should == 2
}

Precise Reporting

report-image

Full Documentation

You can’t perform that action at this time.