REST Assured

用于轻松测试 REST 服务的 Java DSL。「Java DSL for easy testing of REST services」

Github stars Tracking Chart

REST Assured

Build Status
Maven Central
Javadoc

Testing and validation of REST services in Java is harder than in dynamic languages
such as Ruby and Groovy. REST Assured brings the simplicity of using these
languages into the Java domain.

News

Older News

Examples

Here's an example of how to make a GET request and validate the JSON or XML response:

get("/lotto").then().assertThat().body("lotto.lottoId", equalTo(5));

Get and verify all winner ids:

get("/lotto").then().assertThat().body("lotto.winners.winnerId", hasItems(23, 54));

Using parameters:

given().
    param("key1", "value1").
    param("key2", "value2").
when().
    post("/somewhere").
then().
    body(containsString("OK"));

Using X-Path (XML only):

given().
    params("firstName", "John", "lastName", "Doe").
when().
    post("/greetMe").
then().
    body(hasXPath("/greeting/firstName[text()='John']")).

Need authentication? REST Assured provides several authentication mechanisms:

given().auth().basic(username, password).when().get("/secured").then().statusCode(200);

Getting and parsing a response body:

// Example with JsonPath
String json = get("/lotto").asString();
List<String> winnderIds = from(json).get("lotto.winners.winnerId");
    
// Example with XmlPath
String xml = post("/shopping").andReturn().body().asString();
Node category = from(xml).get("shopping.category[0]");

REST Assured supports any HTTP method but has explicit support for POST, GET, PUT, DELETE, OPTIONS, PATCH and HEAD and includes specifying and validating e.g. parameters, headers, cookies and body easily.

Documentation

Support and discussion

Join the mailing list at our Google group.

Main metrics

Overview
Name With Ownerrest-assured/rest-assured
Primary LanguageJava
Program languageShell (Language Count: 5)
PlatformBSD, Cross-platform, Linux, Mac, Solaris, Windows
License:Apache License 2.0
所有者活动
Created At2010-10-21 08:35:43
Pushed At2025-05-26 11:18:56
Last Commit At2025-05-26 13:18:53
Release Count85
Last Release Namerest-assured-5.5.5 (Posted on 2025-05-22 16:04:13)
First Release Namerest-assured-1.0 (Posted on 2010-12-24 10:48:14)
用户参与
Stargazers Count7k
Watchers Count324
Fork Count1.9k
Commits Count2.4k
Has Issues Enabled
Issues Count1460
Issue Open Count552
Pull Requests Count230
Pull Requests Open Count23
Pull Requests Close Count102
项目设置
Has Wiki Enabled
Is Archived
Is Fork
Is Locked
Is Mirror
Is Private