Come inviare una richiesta POST con REST-assicurato. I moduli HTML utilizzano la richiesta POST per inviare i dati del modulo e in questo tutorial utilizziamo REST-assicurato per inviare un modulo.
Una richiesta POST ha quattro elementi:
URL : Questa è la posizione della risorsa a cui inviamo i dati, ad es. www.example.com/login
VERBO : quando si inviano i dati, utilizziamo la richiesta POST.
INTESTAZIONI : queste sono le intestazioni della richiesta, come Accept o Content-Type.
CORPO : body contiene i dati che inviamo come richiesta post. Ad esempio, quando si invia un modulo, i dati del modulo vengono inviati nel corpo della richiesta.
Il codice di esempio seguente mostra come inviare i dati del modulo come richiesta POST con REST-assicurato, versione 3.2.0 .
io.rest-assured
rest-assured
3.2.0
test
import io.restassured.RestAssured; import io.restassured.http.ContentType; import org.junit.Test; import static io.restassured.RestAssured.given; public class restAssuredPostRequest {
@Test
public void submitForm() {
RestAssured.baseURI = 'https://www.example.com';
given().urlEncodingEnabled(true)
.param('username', 'user@site.com')
.param('password', 'Pas54321')
.header('Accept', ContentType.JSON.getAcceptHeader())
.post('/login')
.then().statusCode(200);
} }
Relazionato:
Oltre a inviare i dati del modulo, puoi anche utilizzare la richiesta POST assicurata da REST per inviare il payload JSON a una risorsa. Ecco un esempio:
import io.restassured.http.ContentType; import io.restassured.response.Response; import static io.restassured.RestAssured.given; public class PostJsonPayload {
private static String payload = '{
' +
' 'description': 'Some Description',
' +
' 'id': 'Some id',
' +
' 'name': 'Some name'
' +
'}';
public static Response postJsonPayload() {
return
given()
.contentType(ContentType.JSON)
.body(payload)
.post('/some/resource')
.then()
.statusCode(200)
.extract()
.response();
} }