【问题标题】:Unable to take test report from multiple browsers at a time using protractor无法使用量角器一次从多个浏览器获取测试报告
【发布时间】:2018-01-05 18:58:49
【问题描述】:

我无法使用量角器一次获取多个浏览器的测试报告。

我试过下面的代码

 var Jasmine2HtmlReporter  = require('C:/Users/agudla/AppData/Roaming/npm/node_modules/protractor-jasmine2-html-reporter');
  exports.config = {
  allScriptsTimeout: 11000,
   seleniumAddress : 'http://localhost:4444/wd/hub',
  multiCapabilities : [
                            {'browserName' : 'firefox'},
                            {'browserName' : 'chrome'}
                       ],
      suites : {
                    jobs : [
                       'e2e/Jobs/Manage Jobs/ApplyJobs/ApplyJobs.e2e-spec.ts',]
               },


     baseUrl : 'http://localhost:4200/',
        framework : 'jasmine2',
  jasmineNodeOpts : {
                      showColors: true,
                      defaultTimeoutInterval: 30000,
                      print: function() {}
                    },

    onPrepare() {

                    //jasmine.getEnv().addReporter(reporter);

                   browser.getProcessedConfig().then(function(config){

                            var capabilities = config.capabilities;
                            jasmine.getEnv().addReporter(

                                    new Jasmine2HtmlReporter({

                                            savePath : '',
                                            fileName : 'protractor-report-'+capabilities.platform+'-'+capabilities.browserName,
                         takeScreenshotOnlyOnFailure : true

                                    })
                            );
                    });


                     require('ts-node').register({
                              project: 'e2e/tsconfig.e2e.json'
                    });
                },

我从命令提示符运行“selenium webdriver server”并运行测试脚本。 Jasmine html 报告总是显示最新的浏览器结果,在这种情况下它总是显示“firefox”浏览器相关的测试报告。

我想同时从“chrome 和 fire fox”浏览器中获取测试报告。谁能建议我如何做到这一点?

【问题讨论】:

标签: protractor


【解决方案1】:

使用以下代码进行多功能报告。您可以参考我在 github 上的 repo 以了解更多详细信息。 点击here

var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter');
var log4js = require('log4js');
var params = process.argv;
var args = process.argv.slice(3);

exports.config = {
  //seleniumServerJar: './node_modules/gulp-protractor/node_modules/protractor/selenium/selenium-server-standalone-2.48.2.jar',
  seleniumAddress: 'http://localhost:4444/wd/hub',
  allScriptsTimeout: 10000,
  framework: 'jasmine2',

  onPrepare: function () {
    return new Promise(function(fulfill, reject) {
      browser.getCapabilities().then(function(value) {
        reportName = 'protractor-report-' + '_' + value.get('browserName') + '_' + Math.floor(Math.random()*1E16);
        jasmine.getEnv().addReporter(
          new Jasmine2HtmlReporter({
            savePath: __dirname+'/target',
            docTitle: 'Web UI Test Report',
            screenshotsFolder: '/image',
            //takeScreenshots: true,
            takeScreenshotsOnlyOnFailures: true,
            consolidate: true,
            consolidateAll: true,
            preserveDirectory: true,
            //cleanDirectory: false,
            //fixedScreenshotName: true,
            fileName: "my-report.html",
            fileNamePrefix: reportName
          })
        );
        fulfill();
      });
    });
  },

  afterLaunch: function afterLaunch() {
    var fs = require('fs');
    var output = '';
    fs.readdirSync('target/').forEach(function (file) {
      if (!(fs.lstatSync('target/' + file).isDirectory()))
        output = output + fs.readFileSync('target/' + file);
    });
    fs.writeFileSync('target/ConsolidatedReport.html', output, 'utf8');

  },

  suites:{
    example:['./test/e2e/specs/**/*Spec.js',]
  },

  multiCapabilities: [
    {
      'browserName': 'chrome'
    },
    {
      'browserName': 'firefox'
    }
  ],

  // Options to be passed to Jasmine-node.
  jasmineNodeOpts: {
    showColors: true,
    defaultTimeoutInterval: 200000
  }
};

【讨论】:

    猜你喜欢
    • 2015-03-26
    • 2015-06-22
    • 1970-01-01
    • 2020-04-02
    • 1970-01-01
    • 1970-01-01
    • 2015-11-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多