2017-10-13 1 views
1

Dans mon script JMeter, Lorsque je sauvegarde les détails d'équipement à l'aide de HTTP REQUEST, un ID incrémentiel auto unique (Suppose 123) est stocké dans la base de données. Puis, dans le même script, lorsque j'ajoute un Incentive sur un équipement précédemment sauvegardé, il y a dans son HTTP REQUEST un ID unique (123) qui passe. Comme cet ID est récupéré depuis la base de données, je suis incapable de l'obtenir. Initialement je pensais utiliser un compteur et le démarrer à partir d'un nombre élevé qui n'est pas stocké dans la base de données mais cela n'a pas fonctionné car il nécessite le même identifiant qui a généré au moment de l'épargne l'équipement. J'ai créé mon script JMeter en utilisant HTTP (S) TEST SCRIPT RECORDER.Comment passer un ID unique stocké dans la base de données à la requête HTTP dans JMeter

+0

postez votre script. – awd

Répondre

0

Pour vous connecter à la base de données dont vous avez besoin JDBC Connection Configuration et de définir la connexion de base de données correctement, vous devez ajouter JDBC élément comme JDBC PreProcessor (ou Sampler), et ajoutez votre sélection de cet identifiant, type de requête: Select Statement, requête sera par exemple select sequnceName.NEXTVAL from dual dans l'oracle DB, vous pouvez mettre la suite de la séquence dans un Result variable name, par exemple mySequence et de l'utiliser plus tard dans l'élément JSR 223:

columnValue = vars.getObject("mySequence").get(0).get("NEXTVAL"); 
+0

Merci d'avoir répondu ... Y a-t-il un moyen d'ajouter la configuration de connexion JDBC? – shivam

+0

Si vous avez une API qui va créer une nouvelle séquence et la retourner en réponse, vous pouvez l'utiliser – user7294900

0

Ainsi, vous pouvez extraire l'ID généré dans la requête/réponse « équipement Détail » et enregistrez-le dans un fichier .csv externe à l'aide du post-processeur JSR223 et utilisez le fichier .csv pour la requête "Incentive". De cette façon, vous pouvez éliminer les appels de base de données et vos scripts ne s'exécutent que pour les requêtes HTTP avec moins de temps d'exécution.