Comment définir plusieurs en-têtes dans une requête HTTP avec Karaté

Comment définir les en-têtes HTTP dans Karaté?

Karate est un outil de test d'API avec un DSL très complet et facile à comprendre.

Dans cet article, nous montrons comment définir plusieurs en-têtes dans la partie en-tête d'une demande.


Les exemples incluent User-Agent, Content-Type, Accept-Encoding, Connection, etc.

Il existe plusieurs façons de définir des en-têtes de requête dans Karaté:




Utilisation de l'en-tête

Vous pouvez utiliser le header mot-clé plusieurs fois dans la demande

Given header Content-Type = 'text/xml;charset=ISO-8859-1'
And header Accept-Encoding = 'gzip,deflate'
And header Connection = 'Keep-Alive'
And header Expect = '100-continue'
And header User-Agent = 'Mozilla/4.0(compatible;IE;GACv7. 1. 5192. 22378)'
And header Host = 'localhost'
When url 'http://www.example.com'
And request { some: 'data' }
When method post
Then status 200


Utilisation des en-têtes

Vous pouvez également définir plusieurs en-têtes dans une variable, puis l'utiliser dans le headers mot-clé pour envoyer tous les en-têtes de requête

* def req_headers = {Content-Type: 'text/xml;charset=ISO-8859-1', Connection: 'Keep-Alive', User-Agent: 'Mozilla/4.0(compatible;IE;GACv7. 1. 5192. 22378)'} Given headers req_headers
And url 'http://www.example.com'
And request { some: 'data' }
When method post
Then status 200

Utilisation des en-têtes de configuration

Une autre façon de définir les en-têtes de requête consiste à utiliser configure headers

* configure headers = {Content-Type: 'text/xml;charset=ISO-8859-1', Connection: 'Keep-Alive', User-Agent: 'Mozilla/4.0(compatible;IE;GACv7. 1. 5192. 22378)'} Given url 'http://www.example.com' And request { some: 'data' } When method post Then status 200