J'essaie d'utiliser une variable de type Javascript pour paramétrer la valeur d'un délai. Lors de la validation du scénario, la valeur retournée est un nombre de type float visible dans l'onglet "variables" (par exemple 120000.0) ce qui provoque l'erreur "Le délai doit être un nombre supérieur ou égal à zéro". Comment définir un délai variable?
Vous pouvez éventuellement utiliser la fonction toFixed afin de supprimer la décimal.
Par exemple, (300000*n).toFixed(0)
Pourriez-vous copier/coller le contenu du Javascript que vous utilisez ?
Voici le code utilisé dans une variable de type Javascript.
Lors de l'évaluation la valeur affichée est 300000.0 pour une valeur n=1
function toInt(variableName) {
var v = Packages.java.lang.Integer.parseInt(context.variableManager.getValue(variableName));
return v;
}
function evaluate() {
logger.debug("Computing value of js variable");
return new function() {
var n = toInt("User.Multiplier");
this.pingDelay = 300000*n;
this.pollDelay = 1200000*n;
};
}
I'm not sure to understand the code. It looks like you want to use a variable inside the Delay field, like "${MyDelay}".
You code doesn't set a variable and returns a function. I don't understand who would call the functions.
I would expect a call to the API with something similar to:
context.variableManager.setValue(variableName,this.pollDelay)
I use the code of the Javascript variable template supplied by Neoload as the attached screenshot show it.
Votre proposition fonctionne. Il est cependant très surprenant de devoir éliminer la décimale lorsqu'on multiplie deux entiers.
Merci