2017-07-06 2 views
0

Nous avons un framework Protractor-CucumberJS utilisant des fichiers de caractéristiques BDD et nous devons créer une série de tests de santé mentale en marquant les scénarios pertinents comme '@sanity' dans les fichiers de caractéristiques et exécuter uniquement les scénarios avec cette balise. Avec cette configuration, Protractor lance le navigateur pour chaque fichier de caractéristiques un par un, vérifie s'il contient le tag '@sanity' et ferme le navigateur si la balise n'est pas trouvée et ainsi de suite.Protractor-CucumberJS - Scénarios balisés - Navigateur lancé pour les scénarios non balisés

Cela prendra beaucoup de temps car il y a près de 200 fichiers de caractéristiques et donc nous voulons que le navigateur ne démarre que si le fichier de caractéristiques contient le tag requis et pas autrement.

Existe-t-il un moyen d'y parvenir?

fichier de configuration -

exports.config = { 
    seleniumAddress: 'http://127.0.0.1:4444/wd/hub', 
    framework: 'custom', 
    frameworkPath: require.resolve('protractor-cucumber-framework'), 
    specs: [../features/*.feature] 
    cucumberOpts: { 
     require: [ 
      '../step-definitions/**/*_Steps.js', 
      'generateJsonReport.js' 
     ], 
     format: 'pretty', 
     tags: ['@sanity'], 
    }, 

    multiCapabilities: [{ 
     browserName: 'chrome', 
     shardTestFiles: true, 
    } 
    ], 

    onPrepare: function() { 
     browser.driver.manage().window().setSize(1600, 800); 
    } 
}; 

Répondre

1

Ceci est impossible en raison du fait que vous utilisez l'option shardTestFiles:true, voir le config. Si vous le désactivez, ou le supprimez, il va d'abord rechercher tous les fichiers (sans analyser tous les fichiers et ouvrir un navigateur pour lui) pour votre balise spécifique et exécuter uniquement les fichiers de caractéristiques qui ont cette balise.

0

Utiliser tags: 'sanity @', dans le fichier de conf, appellera seulement Sanity propose

+0

toujours le même résultat. En quoi l'ajout d'une balise au fichier de configuration est-il différent de la transmission via la ligne de commande? – Manya