J'utilise JMeter pour tester un service web SOAP. Le service Web existe dans un tas d'endroits, comme mon localhost, une boîte de dev, une boîte d'intégration, une boîte de production, etc.JMeter - options de configuration facilement modifiables
J'utilise un échantillonneur de demande WebService (SOAP) et j'ai défini le "Nom du serveur IP », "chemin", et "action SOAP" paramaters comme ceci:
Server Name of IP: ${SERVER}
Path: ${PATH}/service
SOAPAction: http://${SERVER}${PATH}service#action
Cela fonctionne bien lorsque vous utilisez un "élément de configuration utilisateur Variables définies". Je change juste le SERVEUR et le CHEMIN à tout ce qui est spécifique à l'endroit que j'essaye de frapper. Cependant, c'est plus une douleur dans le cul que je veux traiter. Ce que j'espérais faire (et essayé) était d'ajouter plusieurs contrôleurs logiques If dans mon groupe Thread et de vérifier $ {MODE} (un autre UDV) et d'agir en conséquence, en configurant mon SERVEUR et mon PATH. Donc, j'avais quelque chose comme
"${MODE}" == "dev"
"${MODE}" == "local"
"${MODE}" == "production"
Un sur chaque contrôleur Si, j'avais un enfant élément UDV configurer le serveur et PATH approprié. Les valeurs du dernier UDV (dans l'ordre d'apparition dans mon groupe de threads) étaient toujours utilisées, en dépit de mon hypothèse que le contrôleur If retournant false empêcherait l'UDV d'être évalué. Cependant, je vois dans les docs que tous les UDV sont évalués indépendamment de l'emplacement avant que les threads ne soient démarrés. J'ai donc essayé d'utiliser User Paramaters, mais les valeurs pour $ {SERVER} et $ {PATH} dans mon sampler SOAP ne sont pas remplacées et je fais des requêtes à http: // $ {SERVER} $ {PATH} qui est pas bon.
Y at-il une façon élégante de gérer cela? Actuellement, je copie juste un collage des valeurs pour SERVEUR et CHEMIN chaque fois que j'ai besoin de changer le serveur que je frappe. Je sais que je pourrais aussi avoir plusieurs plans de test, un pour chaque serveur que je vais tester, mais je fais des mises à jour fréquentes de la structure, y compris ajouter de nouveaux tests, désactiver des tests existants et changer certaines parties des requêtes SOAP. Cela ne semble pas être une bonne solution.
Une aide?
Qu'en est-il d'avoir plusieurs UDVs (du nom de vos environnements) et la désactivation de tous, mais celui que vous avez besoin? – aromero