Je suis nouveau à e2e testing (et JS). J'utilise le framework Nightwatch. J'essaye de créer une fonction qui sélectionne un élément aléatoire d'une liste d'éléments avec le même sélecteur, et clique dessus.fonction personnalisée pour sélectionner et cliquer sur un élément aléatoire dans Nightwatch
C'est ce que j'ai essayé:
pickOne(selector, target) {
this.api.elements(selector, target, function(res) {
optionsLength = Math.floor((Math.random() * res.value.length) + 1);
});
this.api.waitForElementVisible(`${target}:nth-child(${optionsLength})`);
this.api.click(`${target}:nth-child(${optionsLength}) .action-button`);
}
Mais dans ce cas, optionsLength is not defined
.
Math.floor((Math.random() * res.value.length) + 1)
renvoie un nombre. Je veux utiliser ce numéro en dehors de la fonction.
J'ai essayé de stocker la fonction complète d'une variable, comme dans:
const optionsLength = this.api.elements(selector, element, function(res) {
Math.floor((Math.random() * res.value.length) + 1);
});
Mais cette façon optionsLength
journaux [object Object]
place un certain nombre.