131 votes

JMeter : Comment envoyer une requête avec un en-tête de type de contenu ?

Comment changer le type de contenu dans l'en-tête de la requête http pour les services web reposants ? À partir de quel endroit précis pouvons-nous le modifier ?

202voto

Andrey Botalov Points 6566

Ajouter Gestionnaire d'en-tête HTTP et ajoutez-y l'en-tête de votre choix :

Header Manager with Content-Type header

24voto

user7294900 Points 16410

TL;DR Pour ajouter un en-tête de type contenu, vous devez avoir Gestionnaire d'en-tête HTTP associé à Demande HTTP


Vous devez l'ajouter pour :

GET, DELETE, PUT et PATCH nécessitent un Content-Type.

Si vous ne le faites pas, votre demande sera envoyée avec les valeurs par défaut :

Connection: keep-alive
Content-Length: [length of body]
Content-Type: text/plain
Host: [your host]
User-Agent: Apache-HttpClient/4.5.7 (Java/1.8.0_191)

Contrairement à l'utilisation de postman (avantage sur JMeter), où vous choisissez votre type de contenu dans le même composant, Dans JMeter, vous devez avoir Gestionnaire d'en-tête HTTP qui peut être ajouté comme

  1. Composant enfant de HTTP Request - n'effectue qu'une seule demande.
  2. Identique ou supérieure à la hiérarchie de la demande HTTP - peut/aura un impact sur les autres demandes HTTP dans la hiérarchie de la demande. portée

Notez que vous pouvez avoir plusieurs gestionnaires d'en-tête :

JMeter prend désormais en charge plusieurs gestionnaires d'en-tête. Les entrées d'en-tête sont fusionnées pour former la liste de l'échantillonneur. Si une entrée à fusionner correspond à un nom d'en-tête existant, elle remplace l'entrée précédente. Cela permet de configurer un ensemble d'en-têtes par défaut, et d'appliquer des ajustements à des échantillonneurs particuliers. Notez qu'une valeur vide pour un en-tête ne supprime pas un en-tête existant, elle remplace simplement sa valeur.

Remarquez que vous ne pouvez pas l'utiliser dans multipart/form-data :

Lors de l'utilisation de multipart/form-data, cela supprime les en-têtes Content-Type et Content-Transfer-Encoding ; seul l'en-tête Content-Disposition est envoyé.

Il ne sera pas envoyé dans les urls redirigées :

Les en-têtes sont envoyés pour la demande initiale, et ne seront pas envoyés pour la redirection. Ce n'est généralement un problème que pour les plans de test créés manuellement, car un plan de test créé à l'aide d'un enregistreur continuerait à partir de l'URL redirigée.

7voto

Rajesh Samson Points 1014

Étapes à suivre pour ajouter des en-têtes HTTP

  • Créer une requête HTTP

Thread Group -> HTTP Request

  • Cliquez avec le bouton droit de la souris sur la demande HTTP et ajoutez l'élément de configuration "HTTP Header Manager "

HTTP Request -> Add -> Config Element -> HTTP Cache Manager

enter image description here

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X