2015-09-04 47 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

相關問題