Angularjs 量角器吞咽运行单个等级库文件

Angularjs 量角器吞咽运行单个等级库文件,angularjs,node.js,gulp,jasmine,protractor,Angularjs,Node.js,Gulp,Jasmine,Protractor,这是我的量角器配置文件 '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 =

这是我的量角器配置文件

'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);
exports.config={ 框架:“茉莉花”

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

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

ignoreSynchronization: 'true',

jasmineNodeOpts: {
    defaultTimeoutInterval: 2500000,
    allScriptsTimeout: 25000000
}

};
这是我的gulpconf文件

'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);
现在我为gulp定义了一个任务

gulp e2e:smoke-test

我在smoke test下运行所有规范如果我想运行单个smoke规范文件,或者如果我想使用jasmine2运行单个规范/测试,我该怎么办?你可以使用正则表达式筛选测试。也许你可以在测试中添加@smoke、@regressions之类的内容,然后只通过传递grep标志来运行这些测试:

describe('Test Spec @smoke', function () {
    ...
    })
在gragrator.conf.js中:

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

我通过通过gulp配置传递一个单独的文件来解决这个问题

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'
  }
}
//在执行webdriver后执行pergrator.config

function runWebdriverProtractor(str){
  // runWebdriver(runWebdriver);
  runWebdriver(runProtractorSeleniumConfig(str));
}
//运行烟雾测试命令配置

gulp.task('e2e:smoke-test', function(){
  runWebdriverProtractor(process.argv[3])
});
现在,我可以通过简单地使用以下命令来运行回归/smokde文件

gulp e2e:smoke-test  --smoke

干杯!!

您可以将测试标记为
fit
fdescribe
来运行它们。您可以使用--specs mydir/mytestfile.js运行单个规范文件