2015-09-04 63 views
2

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

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

    framework: 'jasmine', 

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

目前我的代码将在第一个“铬”执行HTML报告iteration.When它去下一个迭代,就会产生“FF”。在第三次迭代它会为“IE”生成报告的报告。然而,最后我得到最后一次迭代(即第3次)Internet Explorer HTML报告在基地位置。因为这最后一次迭代取代了以前迭代的报告。

有没有办法让所有3个报告?(即铬,FF和IE报告)

量角器-HTML的截图,记者是我使用的报告。

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

是,我使用browserName作为文件夹名称为HTML报告,并jsons和PNG格式: 内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 
     })); 
    }); 

并从addReporter,你已经拥有了它

您的代码更新到量角器-html-screenshot-reporter:

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 
     })); 
    }); 
} 

顺便说一句,你必须安装记者:npm install protractor-html-screenshot-reporter --save-dev

+0

谢谢你的工作与multiCapabilities:? –

+0

我在命令窗口中出现了意外的错误,在上面的章节中更新了我的代码。 你能帮我修改我的代码来生成单独的浏览器报告吗? –

+0

我不确定metaDataBuilder是什么,所以我更新了我的答案,并将代码更新更新为protractor-html-screenshot-reporter。 – cvakiitho

相关问题