jmeter - deuxième requête post n'est pas à l'aide de la JSESSIONID créé sur mon journal dans la requête post
J'ai été avec succès en mesure d'envoyer une requête POST pour mon journal au point de fin et un JSESSIONID a été créé. Je sais que le JSESSIONID est conservé par le Cookie Manager que j'ai au dessus de mon fils parce que je vois qu'il soit utilisé à plusieurs demandes, j'ai dans mon thread.
Mais lorsque je tente un POST demande de ne pas utiliser la JSESSIONID et crée son propre code. Ci-dessous sont mes paramètres:
Protocole: https
Méthode: POST
-Utiliser KeppAlive
{"json":"params"}
Sampler Résultat:
Nom du Thread: sim de test 1-1
L'échantillon de Départ: 2014-02-18 15:42:42 HNE
Temps de charge: 95
Temps de latence: 95
Taille en octets: 239
Les en-têtes de la taille en octets: 239
Taille en octets: 0
Nombre D'Échantillons: 1
Erreur De Comptage: 0
Code de réponse: 302
Réponse du message: Trouvé
En-têtes de réponse:
HTTP/1.1 302 Found
Serveur: Apache-Coyote/1.1
Set-Cookie: JSESSIONID=F16BF82FD28A84F6E28DDE30DECDC48C; Path=/; de la sécurité; HttpOnly
Emplacement: https : //api.zzzz com/site/needsAuth
Content-Length: 0
Date: tue, 18 Feb 2014 20:42:42 GMT
HTTPSampleResult champs:
ContentType:
DataEncoding: null
Demande:
POST https : //api.zzz com/repos/membres/347/passagers
Publier des données:
{"relationshipToMember":null,"authorizedToBook":false,"authorizedToFly":true,"authorizedToGetInfo":false,"passenger":{"firstName":"Mighty","middleName":null,"lastName":"Max","dateOfBirth": 1380857200000}}
[pas de cookies]
- Têtes De La Requête:
Connection: keep-alive
Content-Type: application/json
Content-Length: 204
Hôte: api.zzz.com
User-Agent: Apache HttpClient/4.2.6 (java 1.5)
-Note: je ne sais pas si je fais ma demande correctement, mais ils y travaillent. Ils ont Suivi Redirige sur et il va d'abord à l'adresse http : //api.zzz... - 302 Found, puis s'en va https : //api.zzz...
edit:
J'ai trouvé ce qui est exactement mon problème: Gestionnaire de cookies de Apache JMeter ne pas ajouter le témoin à la requête POST, mais je ne comprends pas sa solution, si quelqu'un peut élaborer sur les étapes.
Mise à JOUR
Résolu: j'ai dû garder le même Nom de Serveur mon Journal dans le POST et changer mon Chemin
OriginalL'auteur marlon brillantes | 2014-02-18
Vous devez vous connecter pour publier un commentaire.
Mise à JOUR!!!
N'ai pas remarqué votre https protocole.
Tous vous avez besoin est de définir
CookieManager.save.cookies=true
propriété dans votrejmeter.properties
fichier ou ajouter, comme un argument de JMeter ligne de commande commeEn laissant le reste de ma réponse juste au cas où quelqu'un d'autre aura besoin que d'un guide sur la façon de partager JMeter Cookies à travers les différents Thread Groupes.
Je ne suis pas en mesure de reproduire votre cas d'utilisation dans mon environnement à l'aide de scénarios suivants:
C'est seulement reproductible si HTTP Gestionnaire de Cookies ajouté en tant qu'enfant de demande de Connexion. Si c'est votre cas, déplacez-1 niveau à élargir son champ d'application.
Si, pour une raison quelconque, il n'aide pas - voir ci-dessous pour contourner les détails.
Votre code de réponse
204
ne sonne pas comme une erreur pour moi. Je suppose que le serveur serait plutôt de répondre avec quelque chose comme401
ou403
si il y avait des problèmes avec les cookies d'authentification.Si vous explicitement la nécessité de placer le biscuit il peut encore être fait par l'intermédiaire c'est à dire Beanshell
Vous devez faire ce qui suit:
CookieManager.save.cookies=true
des biens, soit dansjmeter.properties
de fichier ou de le spécifier lors de JMeter de démarrage commejmeter -JCookieManager.save.cookies=true
Ajouter Beanshell Post-Processeur de votre Demande de Connexion avec le code suivant:
Ajouter Beanshell Pré Processeur de votre
POST
demande avec le code suivant:Explication:
Le code au point 2 extrait disponible tous les cookies de HTTP Gestionnaire de Cookies et les stocke dans JMeter Propriétés préfixées avec
cookie_
Le code au point 3 lit toutes les propriétés préfixées avec
cookie_
, des constructions de JMeter les Cookies et les ajoute à HTTP Gestionnaire de Cookies.Voir Comment utiliser BeanShell guide pour plus d'informations sur l'extension de JMeter à l'aide de scripts.
Pour confirmer, Si j'ai Rediriger Automatiquement ou Suivre les Redirections vers il a essayé de tourner ma requête dans une requête GET. Donc, j'ai aucun de ces vérifié. Est-ce la bonne façon de procéder?
Pour activer votre demande est demande vous avez besoin de changer de "Méthode". Vous pouvez essayer de poster une image de votre Plan de Test ici pour nous donner un indice, cependant le comportement un peu bizarre. Êtes-vous sûr que c'est le même thread qui effectue la connexion, suivi par la poste?
Je veux qu'elle le reste tant que la requête POST, c'est pourquoi j'ai décocher Redirection Automatique et de Suivre la Redirection. Est la bonne chose à faire? Je ne peux pas poster d'images bc je n'ai pas assez de points de rep. Mais voici quelques liens. Dans ce run, j'ai pris https. grab.by/utL4 grab.by/utLa grab.by/utLg grab.by/utLk grab.by/utLq
OriginalL'auteur Dmitri T
J'ai dû garder le même Nom de Serveur/IP comme mon Journal dans le POST et changer mon Chemin
OriginalL'auteur marlon brillantes