2016-06-27 32 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); 
 
}