如何在量角器中为不同的规范文件单独报告?

时间:2015-09-04 11:00:03

标签: node.js selenium automation jasmine protractor

我们如何在量角器中为不同的规范文件制作单独的报告?

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

  framework: 'jasmine',

 specs: ['TC_2.js','TC_3.js'],

目前,我的代码将为" chrome"生成HTML报告。在第一次迭代中执行。当它进行下一次迭代时,它将为" FF"生成报告。在第三次迭代中,它将为" IE"生成报告。但是最后我得到最后一次迭代(即第3次)Internet Explorer在基本位置的HTML报告。因为最后一次迭代取代了之前迭代的报告。

有没有办法获得所有3份报告?(即Chrome,FF和IE报告)

protractor-html-screenshot-reporter 是我正在使用的报告。

Following is my code:

onPrepare: function() {   
      beforeEach(function() {
        browser.driver.manage().window().setSize(1280, 1024);
    });  

      jasmine.getEnv().addReporter(new HtmlReporter({
         baseDirectory: 'D:/Manoj/TestReport3/',

         docTitle: 'Test Case Execution Details',
         docName: 'BYTestReport.html',
//Meta builder      
  metaDataBuilder: function(spec, descriptions, results, capabilities){
            var metaData = {
                description: descriptions.join('|'),
                 passed: results.passed(),
                 os: 'Windows 7',               
                 browser: {
                  name: capabilities.caps_.browserName
                  , version: capabilities.caps_.version
                }
              };
            if(results.items_.length > 0) {
              var result = results.items_[0];
             metaData.message = result.message;                    
               metaData.trace = result.trace.stack;                         
            }           
return metaData;
}  // Meta Builder ends 
}));
   }, 

2 个答案:

答案 0 :(得分:2)

是的,我使用browserName作为html报告的文件夹名称,以及jsons和pngs: 在django.db.utils.OperationalError: (2013, 'Lost connection to MySQL server during query')

onPrepare: function(){

并从您已有的地方删除browser.getCapabilities().then(function (cap) { console.log(cap); browser.browserName = cap.caps_.browserName; jasmine.getEnv().addReporter(new HtmlReporter({ baseDirectory: 'target/'+browser.browserName+'/angular-test-result/', takeScreenShotsOnlyForFailedSpecs: true, preserveDirectory: false })); });

您的代码更新为protractor-html-screenshot-reporter:

addReporter

顺便说一句,你必须安装记者:var HtmlReporter = require('protractor-html-screenshot-reporter'); onPrepare: function() { browser.driver.manage().window().setSize(1280, 1024); browser.getCapabilities().then(function (cap) { console.log(cap); browser.browserName = cap.caps_.browserName; jasmine.getEnv().addReporter(new HtmlReporter({ baseDirectory: 'target/'+browser.browserName+'/angular-test-result/', takeScreenShotsOnlyForFailedSpecs: true, preserveDirectory: false })); }); }

答案 1 :(得分:0)

您可以为特定规格创建不同的量角器配置文件,并使用package.json中指定的不同命令(通过将配置文件作为参数)来触发特定的e2e诉讼。

ex:“ specifice2e”:“ \” ng e2e --protractorConfig = e2e \ specificprotractor.conf.js“

在配置文件中,您可以提及要生成单独报告的文件夹名称。