web-dev-qa-db-fra.com

Comment pouvons-nous passer plusieurs en-têtes en repos assuré?

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"));
    }

}
7
Jatinder Pal Singh

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

8
parishodak

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);
2
Karan

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"));
    }
0
Jawahar Lal

Vous pouvez également utiliser Headers () de RestAssured qui vous permet d’ajouter plusieurs en-têtes simultanément.

Description des en-têtes

0
Gergely A.