2016-06-27 31 views
2

我曾嘗試使用茉莉花HTML記者與量角器HTML記者。想要使用茉莉花HTML記者與量角器HTML記者

我Config.js代碼看起來像這樣

var HtmlReporter = require('protractor-html-screenshot-reporter'); 
    jasmine.getEnv().addReporter(new HtmlReporter({ 
    baseDirectory: '/protractor-result', 
    docTitle: 'Protractor Demo Reporter', 
    docName: 'protractor-demo-tests-report.html' 
})); 


var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter'); 

jasmine.getEnv().addReporter(new Jasmine2HtmlReporter({ 
    savePath: '../Report/HTML/', 
    showSummary: true, 
    showQuickLinks: true, 
    showConfiguration: true, 
    screenshotsFolder: 'images', 
    takeScreenshots: true, 
    takeScreenshotsOnlyOnFailures: true, 
    fixedScreenshotName: true, 
    ignoreSkippedSpecs: true, 
    consolidate: true, 
    consolidateAll: true, 
    preserveDirectory: true, 
    reportTitle: 'Protractor-Execution-Report-' + timeStamp 
})); 

我能看到茉莉花生成的HTML報告,但仍無法看到Protractor.Please生成的HTML報告,糾正我,如果我想的東西不真實。

任何幫助,將不勝感激。

回答

1

你需要把這些線protractor.config.js文件您onPrepare段內:

var HtmlReporter = require('protractor-html-screenshot-reporter'); 
var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter'); 


exports.config = { 
    //other stuff 

    onPrepare: function() { 
     // Add a screenshot reporter and store screenshots to `/tmp/screnshots`: 
     jasmine.getEnv().addReporter(new HtmlReporter({ 
     baseDirectory: '/tmp/screenshots' 
     //... 
     })); 
     jasmine.getEnv().addReporter(new Jasmine2HtmlReporter({ 
     savePath: '../Report/HTML/' 
     //... 
     })); 
    } 
} 
+0

感謝您的快速反應。 我已經使用這些代碼行我onPrepare()函數中只,請低於 onPrepare看看:函數(){ \t \t jasmine.getEnv()addReporter(新HtmlReporter({ baseDirectory: '/量角器結果', docTitle:'量角器演示報告', docName:'protractor-demo-tests-report.html' })); \t \t \t \t \t \t} 靜止影像無法看到生成的HTML報告。 我可以看到HTML報告,如果單獨使用它們,但與茉莉花記者不能這樣做,這是可能產生光譜水平和期望水平記者。 –

2

量角器-HTML的截圖,記者不與茉莉兼容2和量角器的最新版本使用茉莉花2默認情況下,而不是切換到

量角器,jasmine2-HTML-記者

+0

@Shailendra這裏是你的回答 –

+0

感謝分享這個,但想保持這個線程,以便任何人在這方面有任何想法可以更新。再次感謝。 –

+0

確定你可以接受答案,如果它解決了你的問題!該線程將始終打開,因爲它在開放論壇:) –

0

我用protractor-jasmine2-screenshot-reporterprotractor-jasmine2-html-reporter來處理,這裏是我的配置文件protractor.conf.js,希望能幫到你。

var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter'); 
var HtmlScreenshotReporter = require('protractor-jasmine2-screenshot-reporter'); 

var jasmine2HtmlReporter = new Jasmine2HtmlReporter({ 
    savePath: 'report/e2e/protractor-jasmine2-html-reporter/', 
    filePrefix: 'index', 
    screenshotsFolder: 'screenshots' 
}); 

var htmlScreenshotReporter = new HtmlScreenshotReporter({ 
    dest: 'report/e2e/protractor-jasmine2-screenshot-reporter/', 
    filename: 'index.html' 
}); 

exports.config = { 
    allScriptsTimeout: 11000, 

    specs: [ 
    '*.e2e.js' 
    ], 

    capabilities: { 
    'browserName': 'chrome' 
    }, 

    baseUrl: 'http://localhost:8080/app/', 

    framework: 'jasmine', 

    jasmineNodeOpts: { 
    defaultTimeoutInterval: 30000, 
    showColors: true 
    }, 

    // Setup the report before any tests start 
    beforeLaunch: function() { 
    return new Promise(function(resolve){ 
     htmlScreenshotReporter.beforeLaunch(resolve); 
    }); 
    }, 

    // Assign the test reporter to each running instance 
    onPrepare: function() { 
    jasmine.getEnv().addReporter(jasmine2HtmlReporter); 
    jasmine.getEnv().addReporter(htmlScreenshotReporter); 
    }, 

    // Close the report after all tests finish 
    afterLaunch: function(exitCode) { 
    return new Promise(function(resolve){ 
     htmlScreenshotReporter.afterLaunch(resolve.bind(this, exitCode)); 
    }); 
    } 

}; 

因爲你看到here

1

我知道這是很老的細節,但我跑進試圖讓茉莉花記者和量角器,jasmine2-HTML的記者工作的問題,並沒有像爲了讓他們工作,我必須降級。我發現量角器-jasmine2-html-reporter沒有正確解析savePath,實際上是將報告文件夾的輸出放在量角器-jasmine2-html-reporter目錄中,而不是我跑到哪裏的根目錄。爲了使這個工作正常,我結束了使用process.env.INIT_CWD來獲得最初的當前工作目錄,這應該是你運行gulp的目錄。希望這可以幫助某人。

var Jasmine2HtmlReporter = require('protractor-jasmine2-html-reporter'); 
 
var jasmine2HtmlReporter = new Jasmine2HtmlReporter({ 
 
    savePath: process.env.INIT_CWD + '/report/e2e/', 
 
    screenshotsFolder: 'images', 
 
    takeScreenshots: true, 
 
    takeScreenshotsOnlyOnFailures: true, 
 
    fileName: 'index.html' 
 
}); 
 

 
onPrepare: function() { 
 
    jasmine.getEnv().addReporter(jasmine2HtmlReporter); 
 
}