|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface RequestSpecification
Allows you to specify how the request will look like.
Method Summary | ||
---|---|---|
RequestSpecification |
and()
Syntactic sugar, e.g. |
|
AuthenticationSpecification |
auth()
A slightly short version of authentication() . |
|
AuthenticationSpecification |
authentication()
If you need to specify some credentials when performing a request. |
|
RequestSpecification |
body(byte[] body)
Specify a byte array request body that'll be sent with the request. |
|
RequestSpecification |
body(Object object)
Specify an Object request content that will automatically be serialized to JSON or XML and sent with the request. |
|
RequestSpecification |
body(Object object,
ObjectMapper mapper)
Specify an Object request content that will automatically be serialized to JSON or XML and sent with the request using a specific object mapper. |
|
RequestSpecification |
body(String body)
Specify a String request body (such as e.g. |
|
RequestSpecification |
config(RestAssuredConfig config)
Define a configuration for redirection settings and http client parameters. |
|
RequestSpecification |
content(byte[] content)
Specify a byte array request content that'll be sent with the request. |
|
RequestSpecification |
content(Object object)
Specify an Object request content that will automatically be serialized to JSON or XML and sent with the request. |
|
RequestSpecification |
content(Object object,
ObjectMapper mapper)
Specify an Object request content that will automatically be serialized to JSON or XML and sent with the request using a specific object mapper. |
|
RequestSpecification |
content(String content)
Specify a String request content (such as e.g. |
|
RequestSpecification |
contentType(ContentType contentType)
Specify the content type of the request. |
|
RequestSpecification |
contentType(String contentType)
Specify the content type of the request. |
|
RequestSpecification |
cookie(Cookie cookie)
Specify a Cookie to send with the request. |
|
RequestSpecification |
cookie(String cookieName)
Specify a cookie with no value that'll be sent with the request e.g: |
|
RequestSpecification |
cookie(String cookieName,
Object value,
Object... additionalValues)
Specify a cookie that'll be sent with the request e.g: |
|
RequestSpecification |
cookies(Cookies cookies)
Specify the cookies that'll be sent with the request as Cookies : |
|
RequestSpecification |
cookies(Map<String,?> cookies)
Specify the cookies that'll be sent with the request as Map e.g: |
|
RequestSpecification |
cookies(String firstCookieName,
Object firstCookieValue,
Object... cookieNameValuePairs)
Specify the cookies that'll be sent with the request. |
|
ResponseSpecification |
expect()
Returns the response specification so that you can setup the expectations on the response. |
|
RequestSpecification |
filter(Filter filter)
Add a filter that will be used in the request. |
|
RequestSpecification |
filters(Filter filter,
Filter... additionalFilter)
Add filters that will be used in the request. |
|
RequestSpecification |
filters(List<Filter> filters)
Add filters that will be used in the request. |
|
RequestSpecification |
formParam(String parameterName,
List<?> parameterValues)
A slightly shorter version of formParameter(String, java.util.List) . |
|
RequestSpecification |
formParam(String parameterName,
Object... parameterValues)
A slightly shorter version of formParameter(String, Object...) . |
|
RequestSpecification |
formParameter(String parameterName,
List<?> parameterValues)
Specify a multi-value form parameter that'll be sent with the request e.g: |
|
RequestSpecification |
formParameter(String parameterName,
Object... parameterValues)
Specify a form parameter that'll be sent with the request. |
|
RequestSpecification |
formParameters(Map<String,?> parametersMap)
Specify the form parameters that'll be sent with the request. |
|
RequestSpecification |
formParameters(String firstParameterName,
Object firstParameterValue,
Object... parameterNameValuePairs)
Specify the form parameters that'll be sent with the request. |
|
RequestSpecification |
formParams(Map<String,?> parametersMap)
A slightly shorter version of formParams(java.util.Map) . |
|
RequestSpecification |
formParams(String firstParameterName,
Object firstParameterValue,
Object... parameterNameValuePairs)
A slightly shorter version of formParameters(String, Object, Object...) . |
|
RequestSpecification |
given()
Syntactic sugar, e.g. |
|
RequestSpecification |
header(Header header)
Specify a Header to send with the request. |
|
RequestSpecification |
header(String headerName,
Object headerValue,
Object... additionalHeaderValues)
Specify a header that'll be sent with the request e.g: |
|
RequestSpecification |
headers(Headers headers)
Specify the headers that'll be sent with the request as Headers , e.g: |
|
RequestSpecification |
headers(Map<String,?> headers)
Specify the headers that'll be sent with the request as Map e.g: |
|
RequestSpecification |
headers(String firstHeaderName,
Object firstHeaderValue,
Object... headerNameValuePairs)
Specify the headers that'll be sent with the request. |
|
RequestSpecification |
keystore(File pathToJks,
String password)
Use a keystore located on the file-system. |
|
RequestSpecification |
keystore(String pathToJks,
String password)
The following documentation is taken from http://groovy.codehaus.org/modules/http-builder/doc/ssl.html: |
|
RequestLogSpecification |
log()
Returns the RequestLogSpecification that allows you to log different parts of the RequestSpecification . |
|
RequestSpecification |
multiPart(File file)
Specify a file to upload to the server using multi-part form data uploading. |
|
RequestSpecification |
multiPart(String controlName,
File file)
Specify a file to upload to the server using multi-part form data uploading with a specific control name. |
|
RequestSpecification |
multiPart(String controlName,
File file,
String mimeType)
Specify a file to upload to the server using multi-part form data uploading with a specific control name and mime-type. |
|
RequestSpecification |
multiPart(String controlName,
String contentBody)
Specify a string to send to the server using multi-part form data. |
|
RequestSpecification |
multiPart(String controlName,
String fileName,
byte[] bytes)
Specify a byte-array to upload to the server using multi-part form data. |
|
RequestSpecification |
multiPart(String controlName,
String fileName,
byte[] bytes,
String mimeType)
Specify a byte-array to upload to the server using multi-part form data. |
|
RequestSpecification |
multiPart(String controlName,
String fileName,
InputStream stream)
Specify an inputstream to upload to the server using multi-part form data. |
|
RequestSpecification |
multiPart(String controlName,
String fileName,
InputStream stream,
String mimeType)
Specify an inputstream to upload to the server using multi-part form data. |
|
RequestSpecification |
multiPart(String controlName,
String contentBody,
String mimeType)
Specify a string to send to the server using multi-part form data with a specific mime-type. |
|
RequestSpecification |
noFilters()
Remove all applied filters |
|
|
noFiltersOfType(Class<T> filterType)
Remove all applied filters |
|
RequestSpecification |
param(String parameterName,
List<?> parameterValues)
A slightly shorter version of parameter(String, java.util.List) }. |
|
RequestSpecification |
param(String parameterName,
Object... parameterValues)
A slightly shorter version of parameter(String, Object...) . |
|
RequestSpecification |
parameter(String parameterName,
List<?> parameterValues)
Specify a multi-value parameter that'll be sent with the request e.g: |
|
RequestSpecification |
parameter(String parameterName,
Object... parameterValues)
Specify a parameter that'll be sent with the request e.g: |
|
RequestSpecification |
parameters(Map<String,?> parametersMap)
Specify the parameters that'll be sent with the request as Map e.g: |
|
RequestSpecification |
parameters(String firstParameterName,
Object firstParameterValue,
Object... parameterNameValuePairs)
Specify the parameters that'll be sent with the request. |
|
RequestSpecification |
params(Map<String,?> parametersMap)
A slightly shorter version of parameters(Map) . |
|
RequestSpecification |
params(String firstParameterName,
Object firstParameterValue,
Object... parameterNameValuePairs)
A slightly shorter version of parameters(String, Object, Object...) |
|
RequestSpecification |
pathParam(String parameterName,
Object parameterValue)
A slightly shorter version of pathParameter(String, Object) . |
|
RequestSpecification |
pathParameter(String parameterName,
Object parameterValue)
Specify a path parameter. |
|
RequestSpecification |
pathParameters(Map<String,?> parameterNameValuePairs)
Specify multiple path parameter name-value pairs. |
|
RequestSpecification |
pathParameters(String firstParameterName,
Object firstParameterValue,
Object... parameterNameValuePairs)
Specify multiple path parameter name-value pairs. |
|
RequestSpecification |
pathParams(Map<String,?> parameterNameValuePairs)
A slightly shorter version of pathParameters(java.util.Map) . |
|
RequestSpecification |
pathParams(String firstParameterName,
Object firstParameterValue,
Object... parameterNameValuePairs)
A slightly shorter version of pathParameters(String, Object, Object...) . |
|
RequestSpecification |
port(int port)
Specify the port of the URI. |
|
RequestSpecification |
queryParam(String parameterName,
List<?> parameterValues)
A slightly shorter version of queryParameter(String, java.util.List) . |
|
RequestSpecification |
queryParam(String parameterName,
Object... parameterValues)
A slightly shorter version of queryParameter(String, Object...) . |
|
RequestSpecification |
queryParameter(String parameterName,
List<?> parameterValues)
Specify a multi-value query parameter that'll be sent with the request e.g: |
|
RequestSpecification |
queryParameter(String parameterName,
Object... parameterValues)
Specify a query parameter that'll be sent with the request. |
|
RequestSpecification |
queryParameters(Map<String,?> parametersMap)
Specify the query parameters that'll be sent with the request. |
|
RequestSpecification |
queryParameters(String firstParameterName,
Object firstParameterValue,
Object... parameterNameValuePairs)
Specify the query parameters that'll be sent with the request. |
|
RequestSpecification |
queryParams(Map<String,?> parametersMap)
A slightly shorter version of queryParams(java.util.Map) . |
|
RequestSpecification |
queryParams(String firstParameterName,
Object firstParameterValue,
Object... parameterNameValuePairs)
A slightly shorter version of queryParameters(String, Object, Object...) . |
|
RedirectSpecification |
redirects()
Specify the redirect configuration for this request. |
|
RequestSpecification |
request()
Syntactic sugar, e.g. |
|
ResponseSpecification |
response()
Returns the response specification so that you can setup the expectations on the response. |
|
RequestSpecification |
spec(RequestSpecification requestSpecificationToMerge)
Add request data from a pre-defined specification. |
|
RequestSpecification |
specification(RequestSpecification requestSpecificationToMerge)
Add request data from a pre-defined specification. |
|
RequestSpecification |
that()
Syntactic sugar, e.g. |
|
ResponseSpecification |
then()
Returns the response specification so that you can setup the expectations on the response. |
|
RequestSpecification |
urlEncodingEnabled(boolean isEnabled)
Specifies if Rest Assured should url encode the URL automatically. |
|
RequestSpecification |
when()
Syntactic sugar, e.g. |
|
RequestSpecification |
with()
Syntactic sugar, e.g. |
Methods inherited from interface com.jayway.restassured.specification.RequestSender |
---|
delete, delete, get, get, head, head, post, post, put, put |
Method Detail |
---|
RequestSpecification body(String body)
Example of use:
given().body("{ \"message\" : \"hello world\"}").then().expect().body(equalTo("hello world")).when().post("/json");This will POST a request containing JSON to "/json" and expect that the response body equals to "hello world".
Note that body(String)
and content(String)
are the same except for the syntactic difference.
body
- The body to send.
RequestSpecification body(byte[] body)
Example of use:
byte[] someBytes = .. given().body(someBytes).then().expect().body(equalTo("hello world")).when().post("/json");This will POST a request containing
someBytes
to "/json" and expect that the response body equals to "hello world".
Note that body(byte[])
and content(byte[])
are the same except for the syntactic difference.
body
- The body to send.
RequestSpecification body(Object object)
Example of use:
Message message = new Message(); message.setMessage("My beautiful message"); given(). contentType("application/json"). body(message). expect(). content(equalTo("Response to a beautiful message")). when(). post("/beautiful-message");Since the content-type is "application/json" then REST Assured will automatically try to serialize the object using Jackson or Gson if they are available in the classpath. If any of these frameworks are not in the classpath then an exception is thrown.
Note that body(Object)
and content(Object)
are the same except for the syntactic difference.
object
- The object to serialize and send with the request
RequestSpecification body(Object object, ObjectMapper mapper)
Example of use:
Message message = new Message(); message.setMessage("My beautiful message"); given(). body(message, ObjectMapper.GSON). expect(). content(equalTo("Response to a beautiful message")). when(). post("/beautiful-message");Note that
body(Object, ObjectMapper)
and content(Object, ObjectMapper)
are the same except for the syntactic difference.
object
- The object to serialize and send with the request
RequestSpecification content(String content)
Example of use:
given().content("{ \"message\" : \"hello world\"}").then().expect().content(equalTo("hello world")).when().post("/json");This will POST a request containing JSON to "/json" and expect that the response content equals to "hello world".
Note that body(String)
and content(String)
are the same except for the syntactic difference.
content
- The content to send.
RequestSpecification content(byte[] content)
Example of use:
byte[] someBytes = .. given().content(someBytes).then().expect().content(equalTo("hello world")).when().post("/json");This will POST a request containing
someBytes
to "/json" and expect that the response content equals to "hello world".
Note that body(byte[])
and content(byte[])
are the same except for the syntactic difference.
content
- The content to send.
RequestSpecification content(Object object)
Example of use:
Message message = new Message(); message.setMessage("My beautiful message"); given(). contentType("application/json"). content(message). expect(). content(equalTo("Response to a beautiful message")). when(). post("/beautiful-message");Since the content-type is "application/json" then REST Assured will automatically try to serialize the object using Jackson or Gson if they are available in the classpath. If any of these frameworks are not in the classpath then an exception is thrown.
Note that body(Object)
and content(Object)
are the same except for the syntactic difference.
object
- The object to serialize and send with the request
RequestSpecification content(Object object, ObjectMapper mapper)
Example of use:
Message message = new Message(); message.setMessage("My beautiful message"); given(). content(message, ObjectMapper.GSON). expect(). content(equalTo("Response to a beautiful message")). when(). post("/beautiful-message");Note that
body(Object, ObjectMapper)
and content(Object, ObjectMapper)
are the same except for the syntactic difference.
object
- The object to serialize and send with the request
RedirectSpecification redirects()
given().redirects().max(12).and().redirects().follow(true).when(). ..
RequestSpecification cookies(String firstCookieName, Object firstCookieValue, Object... cookieNameValuePairs)
given().cookies("username", "John", "token", "1234").then().expect().body(equalTo("username, token")).when().get("/cookie");This will send a GET request to "/cookie" with two cookies:
firstCookieName
- The name of the first cookiefirstCookieValue
- The value of the first cookiecookieNameValuePairs
- Additional cookies in name-value pairs.
RequestSpecification cookies(Map<String,?> cookies)
Map<String, String> cookies = new HashMap<String, String>(); cookies.put("username", "John"); cookies.put("token", "1234"); given().cookies(cookies).then().expect().body(equalTo("username, token")).when().get("/cookie");This will send a GET request to "/cookie" with two cookies:
cookies
- The Map containing the cookie names and their values to set in the request.
RequestSpecification cookies(Cookies cookies)
Cookies
:
Cookie cookie1 = Cookie.Builder("username", "John").setComment("comment 1").build(); Cookie cookie2 = Cookie.Builder("token", 1234).setComment("comment 2").build(); Cookies cookies = new Cookies(cookie1, cookie2); given().cookies(cookies).then().expect().body(equalTo("username, token")).when().get("/cookie");This will send a GET request to "/cookie" with two cookies:
cookies
- The cookies to set in the request.
RequestSpecification cookie(String cookieName, Object value, Object... additionalValues)
given().cookie("username", "John").and().expect().body(equalTo("username")).when().get("/cookie");This will set the cookie
username=John
in the GET request to "/cookie".
You can also specify several cookies like this:
given().cookie("username", "John").and().cookie("password", "1234").and().expect().body(equalTo("username")).when().get("/cookie");If you specify
additionalValues
then the Cookie will be a multi-value cookie. This means that you'll create several cookies with the
same name but with different values.
cookieName
- The cookie cookieNamevalue
- The cookie valueadditionalValues
- Additional cookies values. This will actually create two cookies with the same name but with different values.
cookies(String, Object, Object...)
RequestSpecification cookie(String cookieName)
given().cookie("some_cookie").and().expect().body(equalTo("x")).when().get("/cookie");This will set the cookie
some_cookie
in the GET request to "/cookie".
cookieName
- The cookie cookieName
cookies(String, Object, Object...)
RequestSpecification cookie(Cookie cookie)
Cookie
to send with the request.
Cookie someCookie = new Cookie.Builder("some_cookie", "some_value").setSecured(true).build(); given().cookie(someCookie).and().expect().body(equalTo("x")).when().get("/cookie");This will set the cookie
someCookie
in the GET request to "/cookie".
cookie
- The cookie to add to the request
cookies(com.jayway.restassured.response.Cookies)
RequestSpecification parameters(String firstParameterName, Object firstParameterValue, Object... parameterNameValuePairs)
given().parameters("username", "John", "token", "1234").then().expect().body(equalTo("username, token")).when().get("/parameters");This will send a GET request to "/parameters" with two parameters:
firstParameterName
- The name of the first parameterfirstParameterValue
- The value of the first parameterparameterNameValuePairs
- Additional parameters in name-value pairs.
RequestSpecification parameters(Map<String,?> parametersMap)
Map<String, String> parameters = new HashMap<String, String>(); parameters.put("username", "John"); parameters.put("token", "1234"); given().parameters(parameters).then().expect().body(equalTo("username, token")).when().get("/cookie");This will send a GET request to "/cookie" with two parameters:
parametersMap
- The Map containing the parameter names and their values to send with the request.
RequestSpecification parameter(String parameterName, Object... parameterValues)
given().parameter("username", "John").and().expect().body(equalTo("username")).when().get("/cookie");This will set the parameter
username=John
in the GET request to "/cookie".
You can also specify several parameters like this:
given().parameter("username", "John").and().parameter("password", "1234").and().expect().body(equalTo("username")).when().get("/cookie");
parameterName
- The parameter nameparameterValues
- Zero to many parameter values for this parameter name
parameters(String, Object, Object...)
RequestSpecification parameter(String parameterName, List<?> parameterValues)
given().parameter("cars", asList("Volvo", "Saab"))..;This will set the parameter
cars=Volvo
and cars=Saab
.
parameterName
- The parameter nameparameterValues
- The parameter values
RequestSpecification params(String firstParameterName, Object firstParameterValue, Object... parameterNameValuePairs)
parameters(String, Object, Object...)
firstParameterName
- The name of the first parameterfirstParameterValue
- The value of the first parameterparameterNameValuePairs
- Additional parameters in name-value pairs.
parameters(String, Object, Object...)
RequestSpecification params(Map<String,?> parametersMap)
parameters(Map)
.
parametersMap
- The Map containing the parameter names and their values to send with the request.
parameters(Map)
RequestSpecification param(String parameterName, Object... parameterValues)
parameter(String, Object...)
.
parameterName
- The parameter nameparameterValues
- Parameter values, one to many if you want to specify multiple values for the same parameter.
parameter(String, Object...)
RequestSpecification param(String parameterName, List<?> parameterValues)
parameter(String, java.util.List)
}.
parameterName
- The parameter nameparameterValues
- The parameter values
RequestSpecification queryParameters(String firstParameterName, Object firstParameterValue, Object... parameterNameValuePairs)
parameters(String, Object, Object...)
for all http methods except for POST where parameters(String, Object, Object...)
sets the form parameters and this method sets the
query parameters.
firstParameterName
- The name of the first parameterfirstParameterValue
- The value of the first parameterparameterNameValuePairs
- The value of the first parameter followed by additional parameters in name-value pairs.
RequestSpecification queryParameters(Map<String,?> parametersMap)
parameters(Map)
for all http methods except for POST where parameters(Map)
sets the form parameters and this method sets the
query parameters.
parametersMap
- The Map containing the parameter names and their values to send with the request.
RequestSpecification queryParameter(String parameterName, Object... parameterValues)
parameter(String, Object...)
for all http methods except for POST where parameter(String, Object...)
adds a form parameter and this method sets a
query parameter.
parameterName
- The parameter nameparameterValues
- Zero to many parameter values, i.e. you can specify multiple values for the same parameter
parameter(String, Object...)
RequestSpecification queryParameter(String parameterName, List<?> parameterValues)
given().queryParameter("cars", asList("Volvo", "Saab"))..;This will set the parameter
cars=Volvo
and cars=Saab
.
Note that this method is the same as parameter(String, java.util.List)
for all http methods except for POST where parameter(String, java.util.List)
adds a form parameter and
this method sets a query parameter.
parameterName
- The parameter nameparameterValues
- The parameter values
RequestSpecification queryParams(String firstParameterName, Object firstParameterValue, Object... parameterNameValuePairs)
queryParameters(String, Object, Object...)
.
firstParameterName
- The name of the first parameterfirstParameterValue
- The value of the first parameterparameterNameValuePairs
- The value of the first parameter followed by additional parameters in name-value pairs.
queryParameters(String, Object, Object...)
RequestSpecification queryParams(Map<String,?> parametersMap)
queryParams(java.util.Map)
.
parametersMap
- The Map containing the parameter names and their values to send with the request.
queryParams(java.util.Map)
RequestSpecification queryParam(String parameterName, Object... parameterValues)
queryParameter(String, Object...)
.
parameterName
- The parameter nameparameterValues
- Zero to many parameter values. Use additional parameter values if you want to specify multiple values for the same parameter
parameter(String, Object...)
RequestSpecification queryParam(String parameterName, List<?> parameterValues)
queryParameter(String, java.util.List)
.
parameterName
- The parameter nameparameterValues
- The parameter values
queryParam(String, java.util.List)
RequestSpecification formParameters(String firstParameterName, Object firstParameterValue, Object... parameterNameValuePairs)
parameters(String, Object, Object...)
for all http methods except for PUT where parameters(String, Object, Object...)
sets the query parameters and this method sets the
form parameters.
firstParameterName
- The name of the first parameterfirstParameterValue
- The value of the first parameterparameterNameValuePairs
- The value of the first parameter followed by additional parameters in name-value pairs.
RequestSpecification formParameters(Map<String,?> parametersMap)
parameters(Map)
for all http methods except for PUT where parameters(Map)
sets the query parameters and this method sets the
form parameters.
parametersMap
- The Map containing the parameter names and their values to send with the request.
RequestSpecification formParameter(String parameterName, Object... parameterValues)
parameter(String, Object...)
for all http methods except for PUT where parameter(String, Object...)
adds a query parameter and this method sets a
form parameter.
parameterName
- The parameter nameparameterValues
- Zero to many parameter values for this parameter.
parameter(String, Object...)
RequestSpecification formParameter(String parameterName, List<?> parameterValues)
given().formParameter("cars", asList("Volvo", "Saab"))..;This will set the parameter
cars=Volvo
and cars=Saab
.
Note that this method is the same as parameter(String, java.util.List)
for all http methods except for PUT where parameter(String, java.util.List)
adds a query parameter and
this method sets a form parameter.
parameterName
- The parameter nameparameterValues
- The parameter values
RequestSpecification formParams(String firstParameterName, Object firstParameterValue, Object... parameterNameValuePairs)
formParameters(String, Object, Object...)
.
firstParameterName
- The name of the first parameterfirstParameterValue
- The value of the first parameterparameterNameValuePairs
- The value of the first parameter followed by additional parameters in name-value pairs.
formParameters(String, Object, Object...)
RequestSpecification formParams(Map<String,?> parametersMap)
formParams(java.util.Map)
.
parametersMap
- The Map containing the parameter names and their values to send with the request.
formParams(java.util.Map)
RequestSpecification formParam(String parameterName, Object... parameterValues)
formParameter(String, Object...)
.
parameterName
- The parameter nameparameterValues
- Zero to many parameter values. You can specify multiple values for the same parameter.
parameter(String, Object...)
RequestSpecification formParam(String parameterName, List<?> parameterValues)
formParameter(String, java.util.List)
.
parameterName
- The parameter nameparameterValues
- The parameter values
formParam(String, java.util.List)
RequestSpecification pathParameter(String parameterName, Object parameterValue)
expect().statusCode(200).when().get("/item/"+myItem.getItemNumber()+"/buy/"+2);you can write:
given(). pathParameter("itemNumber", myItem.getItemNumber()). pathParameter("amount", 2). expect(). statusCode(200). when(). get("/item/{itemNumber}/buy/{amount}");which improves readability and allows the path to be reusable in many tests. Another alternative is to use:
expect().statusCode(200).when().get("/item/{itemNumber}/buy/{amount}", myItem.getItemNumber(), 2);
parameterName
- The parameter nameparameterValue
- The parameter value
RequestSpecification pathParameters(String firstParameterName, Object firstParameterValue, Object... parameterNameValuePairs)
expect().statusCode(200).when().get("/item/"+myItem.getItemNumber()+"/buy/"+2);you can write:
given(). pathParameters("itemNumber", myItem.getItemNumber(), "amount", 2). expect(). statusCode(200). when(). get("/item/{itemNumber}/buy/{amount}");which improves readability and allows the path to be reusable in many tests. Another alternative is to use:
expect().statusCode(200).when().get("/item/{itemNumber}/buy/{amount}", myItem.getItemNumber(), 2);
firstParameterName
- The name of the first parameterfirstParameterValue
- The value of the first parameterparameterNameValuePairs
- Additional parameters in name-value pairs.
RequestSpecification pathParameters(Map<String,?> parameterNameValuePairs)
expect().statusCode(200).when().get("/item/"+myItem.getItemNumber()+"/buy/"+2);you can write:
Map<String,Object> pathParams = new HashMap<String,Object>(); pathParams.add("itemNumber",myItem.getItemNumber()); pathParams.add("amount",2); given(). pathParameters(pathParams). expect(). statusCode(200). when(). get("/item/{itemNumber}/buy/{amount}");which improves readability and allows the path to be reusable in many tests. Another alternative is to use:
expect().statusCode(200).when().get("/item/{itemNumber}/buy/{amount}", myItem.getItemNumber(), 2);
parameterNameValuePairs
- A map containing the path parameters.
RequestSpecification pathParam(String parameterName, Object parameterValue)
pathParameter(String, Object)
.
parameterName
- The parameter nameparameterValue
- The parameter value
pathParameter(String, Object)
RequestSpecification pathParams(String firstParameterName, Object firstParameterValue, Object... parameterNameValuePairs)
pathParameters(String, Object, Object...)
.
firstParameterName
- The name of the first parameterfirstParameterValue
- The value of the first parameterparameterNameValuePairs
- Additional parameters in name-value pairs.
pathParameters(String, Object, Object...)
RequestSpecification pathParams(Map<String,?> parameterNameValuePairs)
pathParameters(java.util.Map)
.
parameterNameValuePairs
- A map containing the path parameters.
pathParameters(java.util.Map)
RequestSpecification config(RestAssuredConfig config)
given().config(config().redirect(redirectConfig().followRedirects(true).and().maxRedirects(0))). ..
config()
can be statically imported from RestAssuredConfig
.
config
- The configuration to use for this request. If null
no config will be used.
RequestSpecification keystore(String pathToJks, String password)
$ keytool -printcert -file EquifaxSecureGlobaleBusinessCA-1.crt Owner: CN=Equifax Secure Global eBusiness CA-1, O=Equifax Secure Inc., C=US Issuer: CN=Equifax Secure Global eBusiness CA-1, O=Equifax Secure Inc., C=US Serial number: 1 Valid from: Mon Jun 21 00:00:00 EDT 1999 until: Sun Jun 21 00:00:00 EDT 2020 Certificate fingerprints: MD5: 8F:5D:77:06:27:C4:98:3C:5B:93:78:E7:D7:7D:9B:CC SHA1: 7E:78:4A:10:1C:82:65:CC:2D:E1:F1:6D:47:B4:40:CA:D9:0A:19:45 Signature algorithm name: MD5withRSA Version: 3 ....Now, import that into a Java keystore file:
$ keytool -importcert -alias "equifax-ca" -file EquifaxSecureGlobaleBusinessCA-1.crt -keystore truststore.jks -storepass test1234 Owner: CN=Equifax Secure Global eBusiness CA-1, O=Equifax Secure Inc., C=US Issuer: CN=Equifax Secure Global eBusiness CA-1, O=Equifax Secure Inc., C=US Serial number: 1 Valid from: Mon Jun 21 00:00:00 EDT 1999 until: Sun Jun 21 00:00:00 EDT 2020 Certificate fingerprints: MD5: 8F:5D:77:06:27:C4:98:3C:5B:93:78:E7:D7:7D:9B:CC SHA1: 7E:78:4A:10:1C:82:65:CC:2D:E1:F1:6D:47:B4:40:CA:D9:0A:19:45 Signature algorithm name: MD5withRSA Version: 3 ... Trust this certificate? [no]: yes Certificate was added to keystoreNow you want to use this truststore in your client:
RestAssured.keystore("/truststore.jks", "test1234");or
given().keystore("/truststore.jks", "test1234"). ..
pathToJks
- The path to the JKS. The path to the JKS. REST Assured will first look in the classpath and if not found it will look for the JKS in the local file-system.password
- The store pass
RequestSpecification keystore(File pathToJks, String password)
keystore(String, String)
for more details.
pathToJks
- The path to JKS file on the file-systempassword
- The password for the keystore
keystore(String, String)
RequestSpecification headers(String firstHeaderName, Object firstHeaderValue, Object... headerNameValuePairs)
given().headers("headerName1", "headerValue1", "headerName2", "headerValue2").then().expect().body(equalTo("something")).when().get("/headers");This will send a GET request to "/headers" with two headers:
firstHeaderName
- The name of the first headerfirstHeaderValue
- The value of the first headerheaderNameValuePairs
- Additional headers in name-value pairs.
RequestSpecification headers(Map<String,?> headers)
Map<String, String> headers = new HashMap<String, String>(); parameters.put("headerName1", "headerValue1"); parameters.put("headerName2", "headerValue2"); given().headers(headers).then().expect().body(equalTo("something")).when().get("/headers");This will send a GET request to "/headers" with two headers:
headers
- The Map containing the header names and their values to send with the request.
RequestSpecification headers(Headers headers)
Headers
, e.g:
Header first = new Header("headerName1", "headerValue1"); Header second = new Header("headerName2", "headerValue2"); Headers headers = new Header(first, second); given().headers(headers).then().expect().body(equalTo("something")).when().get("/headers");This will send a GET request to "/headers" with two headers:
headers
- The headers to use in the request
RequestSpecification header(String headerName, Object headerValue, Object... additionalHeaderValues)
given().header("username", "John").and().expect().body(equalTo("something")).when().get("/header");This will set the header
username=John
in the GET request to "/header".
You can also specify several headers like this:
given().header("username", "John").and().header("zipCode", "12345").and().expect().body(equalTo("something")).when().get("/header");If you specify
additionalHeaderValues
then the Header will be a multi-value header. This means that you'll create several headers with the
same name but with different values.
headerName
- The header nameheaderValue
- The header valueadditionalHeaderValues
- Additional header values. This will actually create two headers with the same name but with different values.
headers(String, Object, Object...)
RequestSpecification header(Header header)
Header
to send with the request.
Header someHeader = new Header("some_name", "some_value"); given().header(someHeader).and().expect().body(equalTo("x")).when().get("/header");This will set the header
some_name=some_value
in the GET request to "/header".
header
- The header to add to the request
headers(com.jayway.restassured.response.Headers)
RequestSpecification contentType(ContentType contentType)
contentType
- The content type of the request
ContentType
RequestSpecification contentType(String contentType)
contentType
- The content type of the request
ContentType
RequestSpecification multiPart(File file)
file
- The file to upload
RequestSpecification multiPart(String controlName, File file)
file
- The file to uploadcontrolName
- Defines the control name of the body part. In HTML this is the attribute name of the input tag.
RequestSpecification multiPart(String controlName, File file, String mimeType)
file
- The file to uploadcontrolName
- Defines the control name of the body part. In HTML this is the attribute name of the input tag.mimeType
- The mime-type
RequestSpecification multiPart(String controlName, String fileName, byte[] bytes)
controlName
- Defines the control name of the body part. In HTML this is the attribute name of the input tag.fileName
- The name of the content you're uploadingbytes
- The bytes you want to send
RequestSpecification multiPart(String controlName, String fileName, byte[] bytes, String mimeType)
controlName
- Defines the control name of the body part. In HTML this is the attribute name of the input tag.fileName
- The name of the content you're uploadingbytes
- The bytes you want to sendmimeType
- The mime-type
RequestSpecification multiPart(String controlName, String fileName, InputStream stream)
controlName
- Defines the control name of the body part. In HTML this is the attribute name of the input tag.fileName
- The name of the content you're uploadingstream
- The stream you want to send
RequestSpecification multiPart(String controlName, String fileName, InputStream stream, String mimeType)
controlName
- Defines the control name of the body part. In HTML this is the attribute name of the input tag.fileName
- The name of the content you're uploadingstream
- The stream you want to sendmimeType
- The mime-type
RequestSpecification multiPart(String controlName, String contentBody)
controlName
- Defines the control name of the body part. In HTML this is the attribute name of the input tag.contentBody
- The string to send
RequestSpecification multiPart(String controlName, String contentBody, String mimeType)
controlName
- Defines the control name of the body part. In HTML this is the attribute name of the input tag.contentBody
- The string to sendmimeType
- The mime-type
AuthenticationSpecification authentication()
AuthenticationSpecification
AuthenticationSpecification auth()
authentication()
.
authentication()
,
AuthenticationSpecification
RequestSpecification port(int port)
given().port(8081).and().expect().statusCode(200).when().get("/something");will perform a GET request to http;//localhost:8081/something. It will override the default port of REST assured for this request only.
Note that it's also possible to specify the port like this:
expect().statusCode(200).when().get("http://localhost:8081/something");
port
- The port of URI
RequestSpecification spec(RequestSpecification requestSpecificationToMerge)
RequestSpecification requestSpec = new RequestSpecBuilder().addParam("parameter1", "value1").build(); given(). spec(requestSpec). param("parameter2", "value2"). when(). get("/something");This is useful when you want to reuse an entire specification across multiple requests.
The specification passed to this method is merged with the current specification. Note that the supplied specification can overwrite data in the current specification. The following settings are overwritten:
specification(RequestSpecification)
but the name is a bit shorter.
requestSpecificationToMerge
- The specification to merge with.
RequestSpecification specification(RequestSpecification requestSpecificationToMerge)
RequestSpecification requestSpec = new RequestSpecBuilder().addParam("parameter1", "value1").build(); given(). spec(requestSpec). param("parameter2", "value2"). when(). get("/something");This is useful when you want to reuse an entire specification across multiple requests.
The specification passed to this method is merged with the current specification. Note that the supplied specification can overwrite data in the current specification. The following settings are overwritten:
specification(RequestSpecification)
but the name is a bit shorter.
requestSpecificationToMerge
- The specification to merge with.
RequestSpecification urlEncodingEnabled(boolean isEnabled)
isEnabled
- Specify whether or not URL encoding should be enabled or disabled.
RequestSpecification filter(Filter filter)
filter
- The filter to add
RequestSpecification filters(List<Filter> filters)
filters
- The filters to add
RequestSpecification filters(Filter filter, Filter... additionalFilter)
filter
- The filter to addadditionalFilter
- Additional filters to add
RequestSpecification noFilters()
<T extends Filter> RequestSpecification noFiltersOfType(Class<T> filterType)
RequestLogSpecification log()
RequestLogSpecification
that allows you to log different parts of the RequestSpecification
.
This is mainly useful for debug purposes when writing your tests. It's a shortcut for:
given().filter(new RequestLoggingFilter(..))). ..
ResponseSpecification response()
given().param("name", "value").then().response().body(equalTo("something")).when().get("/something");
RequestSpecification and()
expect().body(containsString("OK")).and().body(containsString("something else")).when().get("/something");is that same as:
expect().body(containsString("OK")).body(containsString("something else")).when().get("/something");
RequestSpecification with()
expect().body(containsString("OK")).and().with().request().parameters("param1", "value1").get("/something");is that same as:
expect().body(containsString("OK")).and().request().parameters("param1", "value1").get("/something");
ResponseSpecification then()
given().param("name", "value").then().body(equalTo("something")).when().get("/something");
ResponseSpecification expect()
given().param("name", "value").and().expect().body(equalTo("something")).when().get("/something");
RequestSpecification when()
expect().body(containsString("OK")).when().get("/something");is that same as:
expect().body(containsString("OK")).get("/something");
RequestSpecification given()
given().param("name1", "value1").and().given().param("name2", "value2").when().get("/something");is that same as:
given().param("name1", "value1").and().param("name2", "value2").when().get("/something");
RequestSpecification that()
expect().that().body(containsString("OK")).when().get("/something");is that same as:
expect().body(containsString("OK")).get("/something");
RequestSpecification request()
given().request().param("name", "John").then().expect().body(containsString("OK")).when().get("/something");is that same as:
given().param("name", "John").then().expect().body(containsString("OK")).when().get("/something");
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |