J'ai un test this.test.assertExists("blablabla");.

Comment utiliser les résultats de ce test dans une instruction if / else? En d'autres termes, je veux que le programme fasse une chose si le test réussit, et une autre chose s'il échoue.

0
user5123741 16 juil. 2015 à 16:18

2 réponses

Meilleure réponse

Je ne pense pas que les tests soient destinés à fonctionner de cette façon. Mais ce que vous pouvez faire, c'est utiliser certaines des fonctions de CasperJS pour répliquer certaines instructions if / else pour faire ce que vous voulez.

Par exemple, vous pouvez utiliser l'objet __utils__ pour vérifier les attributs ou obtenir les valeurs des objets dans le DOM. Voici un exemple de code pour voir si une case à cocher est cochée:

function isChecked(selector)
{
    return __utils__.findOne(selector).checked;
}

Dans votre exemple, vous pouvez utiliser la fonction casper.exists pour voir si un sélecteur est présent dans le DOM:

if (casper.exists('#your_selector'))
{
    // do something
}
else
{
    // do a different thing
}
0
Whitehawk 16 juil. 2015 à 14:47

CasperJS fournit la plupart des casper.test.assert* fonctions sous forme de fonctions autonomes casper.*.

Vous pouvez l'utiliser comme ceci

if (casper.exists("#selector")) {
    casper.test.pass("selector existed");
    // TODO: do something
} else {
    casper.test.fail("selector existed");
    // TODO: do something else
}
1
Artjom B. 16 juil. 2015 à 14:32