Répondre

1

J'ai une solution (pas parfaite;)) qui utilise plusieurs fichiers de configuration (pour sélecteur, exécution, bureau, mobile, etc.).
J'inclus un dans l'exécution de mes casperjs teste un fichier qui m'offre toutes les configs dont j'ai besoin (j'y inclus aussi des fonctions globales). laisse deviner l'exécution du test ressemble que:

casperjs test --includes=loadGlobals.js test_1.js 

Dans cet exemple le loadGlobals.js contient des fonctions telles que:

var fs = require('fs'); 
    var config = {}, 
     configFile = fs.read('config.json'); 
    config = JSON.parse(configFile); 

probalby le config.json est à la recherche comme ça:

{ 
     "url": "http://www.yourTestUrl.com", 
     "variable_1": "bla", 
     "variable_2": "blub", 
     "nextTier": { 
      "variable_1": "blablub" 
     } 
    } 

Maintenant vous pouvez appeler dans le test_1.js les variables du fichier config.json:

casper.start(config.url, function() { 
    casper.then(function() { 
    casper.echo(config.variable_1); 
    casper.echo(config.variable_2); 
    casper.echo(config.nextTier.variable_1); 
    }); 
}) 
casper.run(); 

Vous pouvez utiliser ces différents fichiers de configuration, même pour les remplacer lors des tests si nécessaire.
Les tests doivent être écrits dans le style de modèle d'objet de page afin qu'ils soient très maintable, en particulier avec une configuration externalisée. Je ne connaissais pas NuclearJS, mais je vais aussi y jeter un coup d'œil.

+0

Il indique qu'il n'a pas pu trouver de configuration variable. – Shamendra

+0

Avez-vous inclus loadGlobals.js dans l'exécution du test comme --includes = loadGlobals.js? – dasmelch

+0

Oui, j'ai inclus que comme vous l'avez mentionné – Shamendra