2016-12-06 3 views
2

Hier meine Winkelmesser conf Datei istWinkelmesser schluck eine einzelne spec-Datei ausführen

exports.config = { Rahmen: 'Jasmin',

seleniumAddress: 'http://localhost:4444/wd/hub', 

specs: ['../../e2e/smoke-test/*.spec.js'], 

ignoreSynchronization: 'true', 

jasmineNodeOpts: { 
    defaultTimeoutInterval: 2500000, 
    allScriptsTimeout: 25000000 
} 

}; 

Hier ist meine schluck conf Datei

'use strict'; 

var path = require('path'); 
var gulp = require('gulp'); 

// Protractor configurations to open browser 
var protractor = require("gulp-protractor").protractor; 
var spawn = require('child_process').spawn; 


var browserSync = require('browser-sync'); 

var $ = require('gulp-load-plugins')(); 

// Downloads the selenium webdriver 
gulp.task('webdriver-update', $.protractor.webdriver_update); 

gulp.task('webdriver-standalone', $.protractor.webdriver_standalone); 

// Protractor with selenium configuration to open browser 

//run webdriver method 
function runWebdriver(callback) { 
    spawn('webdriver-manager', ['start'], { 
    stdio: 'inherit' 
}).once('close', callback); 
} 

//run protractor configurations method 
function runProtractorSeleniumConfig() { 
gulp.src('./**/*-page.spec.js') 
    .pipe(protractor({ 
     configFile: './e2e/conf/smoke-test-conf.js' 
    })) 
    .on('error', function (e) { 
     throw e; 
    }); 
} 

//execute protractor.config after webdriver is executed 

function runWebdriverProtractor(){ 
// runWebdriver(runWebdriver); 
runWebdriver(runProtractorSeleniumConfig); 
} 

//put them into 
gulp.task('e2e:smoke-test', runWebdriverProtractor); 
// run on dist 
//gulp.task('e2e:dist', ['serve:e2e-dist', 'webdriver-update'], runProtractor); 

gerade habe ich eine Aufgabe für Schluck definiert, die

gulp e2e:smoke-test 
ist

I führe alle Spezifikationen unter Rauch-Test, was kann ich tun, wenn ich eine einzige Rauch-Spez-Datei ausgeführt werden soll oder wenn ich will einen einzelnen spec/Test

+0

Sie können den Test als 'fit' oder' fdescribe' markieren, um sie spezifisch auszuführen –

+0

Sie können eine einzelne Spezifikationsdatei mit --specs mydir/mytestfile.js ausführen –

Antwort

1

I gelöst Dies geschieht durch die Übergabe einer einzelnen Datei durch die Schluckkonfiguration.

function runProtractorSeleniumConfig(path) { 
    gulp.src(getFile(path)) 
    .pipe(protractor({ 
     configFile: 'ProtractorConfigFile' 
    })) 
    .on('error', function (e) { 
     throw e; 
    }); 
} 
function getFile(ext){ 
    if(ext == '--regression'){ 
    return 'RegressionTestCaseFilePath' 
    } 
    else{ 
    return 'TestCaseFilePath' 
    } 
} 

// ausführen protractor.config nach WebDriver

ausgeführt wird
function runWebdriverProtractor(str){ 
    // runWebdriver(runWebdriver); 
    runWebdriver(runProtractorSeleniumConfig(str)); 
} 

// run Rauchtest-Befehle Konfigurationen

gulp.task('e2e:smoke-test', function(){ 
    runWebdriverProtractor(process.argv[3]) 
}); 

jetzt kann ich Regression/smokde-Datei ausführen, indem Sie einfach diese mit

gulp e2e:smoke-test --smoke 

Prost !!

-1

Mit laufen jasmine2 Sie Tests mit einem regulären Ausdruck filtern . Vielleicht können Sie so etwas wie @smoke, @regressions zu Ihren Tests hinzufügen und dann nur die diejenigen, laufen durch die grep Flagge vorbei:

describe('Test Spec @smoke', function() { 
    ... 
    }) 

und in protractor.conf.js:

exports.config = { 
     jasmineNodeOpts: { 
     grep: '@smoke', 
    } 
}; 
Verwandte Themen