Je suis nouveau dans l'assurance et Java, j'essaie de faire un test très basique pour vérifier la réponse est de 200 ok pour l'API . Pouvez-vous me dire ce que je dois changer dans le script ci-dessous dans afin de passer plusieurs en-têtes Id, Key et ConId?
import org.junit.Test;
import com.jayway.restassured.*;
import com.jayway.restassured.http.ContentType;
import static org.hamcrest.Matchers.*;
import static com.jayway.restassured.RestAssured.*;
public class APIresponse
{
public static void main(String[] args)
{
APIresponse apiresponse = new APIresponse();
apiresponse.response();
}
@Test
public void response ()
{
baseURI="http://testme/api/";
given().
header("Id", "abc").
param("Key", "NuDVhdsfYmNkDLOZQ").
param("ConId", "xyz").
when().
get("/uk?Id=DT44FR100731").
then().
contentType(ContentType.JSON).
body("response.code", equalTo("200"));
}
}
Le moyen le plus simple d’ajouter plusieurs en-têtes consiste à répéter simplement .header(headername,headervalue)
plusieurs fois après .given()
.
given().
header("Id", "abc").
header("name","name").
header("","")
...
Vous pouvez trouver différentes façons de passer des en-têtes à l'aide de la structure REST-Assured dans sa suite de tests à l'adresse github link .
Modifier:
Pour vérifier le statut de la réponse dans Rest-Assured:
expect().statusCode(200),log().ifError().given()......
ou choisissez un exemple de la façon dont vous voulez tester l’en-tête de réponse à partir de ce lien github
vous pouvez également créer et ajouter un objet de mappage de plusieurs en-têtes comme ci-dessous
Header h1= new Header("Accept", "*/*");
Header h2 = new Header("Accept-Language", "en-US");
Header h3 = new Header("User-Agent", "Mozilla/5.0");
List<Header> list = new ArrayList<Header>();
list.add(h1);
list.add(h2);
list.add(h3);
Headers header = new Headers(list);
request.headers(header);
Remplacez comme ci-dessous:
@Test
public void response ()
{
baseURI="http://testme/api";
given()
.header("Id", "abc")
.param("Key", "NuDVhdsfYmNkDLOZQ")
.param("ConId", "xyz")
when()
.get("/uk?Id=DT44FR100731")
then()
.contentType(ContentType.JSON)
.and()
.body("response.code", equalTo("200"));
}
Vous pouvez également utiliser Headers () de RestAssured qui vous permet d’ajouter plusieurs en-têtes simultanément.