çŸåšãã¬ããŒããä¿åããããã®CLIåŒæ°ãšããŠãåºåããã¡ã€ã«ãæå®ããããšã¯ã§ããŸããã JSONãã©ãŒããã¿ãŒã¯STDOUTã«çŽæ¥æžã蟌ãããã§ããããã¯ããããã°æïŒconsole.logã䜿çšïŒãŸãã¯ããã°ã©ã ã倱æããŠç¡å¹ãªJSONãçæãããšãã«åé¡ã«ãªãå¯èœæ§ããããŸãã
ãããã«ããŒã®ãã¥ãŠãªã®ããã«æ©èœããè€æ°ã®ãã©ãŒããããå¥ã ã®åºåãã¡ã€ã«ã«ä¿åã§ããããã«ããããšãæãŸããã§ãããã
ããã«ã¯å®éã«ã¯2ã€ã®å¥ã ã®åé¡ããããŸãã
è€æ°ã®ãã©ãŒããã¿ãŒã«é¢ããŠå¥ã®åé¡ãäœæããŸããã
ãžã¥ãªã¢ã³ã¯ãHTMLåºåãã¡ã€ã«ããã€æå®ã§ãããã«ã€ããŠã®ãã¥ãŒã¹ã¯ãããŸããïŒ
+1
+1
ããã«ã¡ã¯ç§ã¯JSONã®çµæã®ã³ã³ãã³ããcucumber-json2report-masterã®ããŒã¿ãã£ã¬ã¯ããªã«ããcucumber.jsonãã¡ã€ã«ã«æåã§ã³ããŒããŠè²Œãä»ããŠããŸããããã«ãããå®è¡ã®ããã€ãã®çŽ æŽãããçµæãåŸãããšãã§ããŸããã cucumber.jsã¯ãã¡ã€ã«ããã®ãã£ã¬ã¯ããªã«é 眮ã§ãããããæåã®æé ãäžèŠã«ãªããŸãã
ããŒãžã§ã³ãããã¯ãããããã©ãŒã¯ãäœæããããããã¯ãããŸããã ææ¡ïŒ
ããã«é¢ããæŽæ°ã¯ãããŸããïŒ
@letshaveyerããã¯ããªãã«ãšã£ãŠäŸ¿å©ãªæ©èœã®ããã«èãããŸãã ãã«ãªã¯ãšã¹ããéã£ãŠã¿ãŸãããïŒ
ãããæ©èœãããŸã§ãjson_formatter.jsãå€æŽã§ããŸãã ããã¯ããã¯ã§ãããæ¯å貌ãä»ããã³ããŒãããããã¯ããã«ç°¡åã§ãã ãŸãããã¡ã€ã«åã«ã¿ã€ã ã¹ã¿ã³ããè¿œå ããŠããŸãã
formatterIoãªããžã§ã¯ããå€æŽããŠããã¡ã€ã«ã«ãæžã蟌ã¿ãŸã
var formatterIo = {
æžã蟌ã¿ïŒfunctionïŒstringïŒ{
self.logïŒæååïŒ;
fs.writeFileSyncïŒ 'path \ test_results.json'ãstringïŒ; // è¿œå ãã
}
};
ããã¯ãUNIXãšbashã®åçŽãªãã€ããªãã€ã¬ã¯ãã§è¡ãç°¡åãªããšã§ã
cucumber-js --format=json | tee wow.json
+1ããŠéãã
ãã€ãã§ããŸããã å床åšã®èšå®ãã¡ã€ã«ã䜿çšããŠcucumberjsãèšå®ããŠããŸã
ãªãã·ã§ã³
CucumberOptsïŒ{
ãã©ãŒãããïŒ 'JSON'ã
ã¿ã°ïŒ ' @ testRun '
}
ããŒãã䜿çšããŠå床åšãèµ·åããbatãã¡ã€ã«ããããŸãã
ãã©ãã
2014幎8æ5æ¥åå9æ54åããSamSacconeã [email protected]ã¯æ¬¡ã®ããã«æžããŠããŸãã
ããã¯ãUNIXã®åçŽãªãã€ããªãã€ã¬ã¯ãã§è¡ãç°¡åãªããšã§ã
cucumber-js --format = json | tee wow.json
+1ããŠéãã
â
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/cucumber/cucumber-js/issues/90#issuecomment-51199997 ã
èå³æ·±ã@ brad8118ããã¯ããã¥ãŠãªã§ã¯ãªãå床åšã®æ©èœã®ããã§ãã
å床åšã¯ãã¥ãŠãªãåŒã³åºããŠãããåºåãåŠçããã®ã¯ãã¥ãŠãªã§ã¯ãªãå床åšã®è²¬ä»»ã§ãã
ãããã¯ç§ã®æåã®èãã§ãããã¢ã€ãã¢ãåãå ¥ããããšãã§ããŸãã ãã¥ãŠãªã®ã©ã€ãã©ãªã®ãã£ãŒãã£ãŒã¯ãªãŒããé²ãããšããŠããŸãã
@ brad8118å床åšã䜿çšããŠããŸãã ãœãŒã¹ã³ãŒãããããããŸããããã¯ãããŸããã ãããè¡ãããã«ããã¯ãŸãã¯ãµããŒããã¡ã€ã«ãè¿œå ããæ¹æ³ã¯ãããŸããïŒ
var formatterIo = {
write: function(string){
self.log(string);
fs.writeFileSync('path\test_results.json', string); // added
}
};
@samcconeå床åšã®ãã€ãã£ãã¬ããŒãã®äœ¿çšã¯ã䜿çšããŠãããã¬ãŒã ã¯ãŒã¯ã«ãã£ãŠç°ãªããŸãã Jasmineã䜿çšããŠããå Žåã¯ãJasmineã®ã¬ããŒãã䜿çšããŸãã cucumberãã¬ãŒã ã¯ãŒã¯ã䜿çšããŠããå Žåã¯ãcucumber.jsã®ã¬ããŒãã䜿çšããŸãããçŸåšããã¡ã€ã«ãåºåããæ¹æ³ã¯ãããŸããã
@ jlin412 ãcucumber.jsãå€æŽããã«çæãããŠããjsonãæž¡ã/ååŸããæ¹æ³ãããããŸããã
å床åšã®jsonæ§æãã¡ã€ã«ã®ã¯ãªãŒã³ã¢ããæ©èœã«ã€ããŠãèããŸããã ãã ãã1ãŸãã¯0ã®ã¿ãæž¡ããŸãã
// ----- The cleanup step -----
//
// A callback function called once the tests have finished running and
// the webdriver instance has been shut down. It is passed the exit code
// (0 if the tests passed or 1 if not).
onCleanUp: function () {}
ããã¯ãã§ã«å¥ã®ãã©ãŒã¯ã§è¡ãããŠããããã§ãã nicolassenechal @ b337b18
@ jlin412ãããããšjsonã貌ãä»ãããšãã äœããŠãã®ïŒ ãããhtmlã«å€æããŠããŸããïŒ
@ brad8118ãªãã€ã¬ã¯ãã䜿çšããŠå床åšãããã¡ã€ã«ã«jsonåºåãéä¿¡ãã次ã«æ£èŠè¡šçŸã®äžèŽã䜿çšããŠjson圢åŒããã£ã«ã¿ãŒã§
grunt.registerTask('jsonOutput', function () {
var testOutput = grunt.file.read('test/e2e/tmp/cucumberOutput.json');
var json = testOutput.match(/(\[\s+\{[\s\S]*\}\s+\]\s+\}\s+\]\s+\}\s+\])/)[1];
grunt.file.write('test/e2e/output/cucumberReport.json', json);
});
次ã«ããã¥ãŠãªãµã³ãã€ããã䜿çšããŠhtmlïŒJavaãããžã§ã¯ãïŒã«å€æããŸãã
http://www.farooqyousuf.net/2013/12/generated-reports-with-cucumber-sandwich/
ãã¡ã€ã«ã€ãã³ããªã¹ããŒã«äŸåããã®ã§ã¯ãªãããªã³ããã³ãã§åŒã³åºãããšãã§ããããã«ããã¥ãŠãªãµã³ãã€ããã®ã³ãŒãããŒã¹ã«ããããªå€æŽãå ããŸããã
ããã«ã¡ã¯ã¿ããªããããcucumber-jsãã¹ã¿ãŒã«ã³ãããããããšãã«ç§ã®é ãåããããšããŠããŸããïŒ ä»ãã®æ©èœãå¿ èŠã§ãããåå²ãããã©ã³ãã«äŸåããããšã«ã¯æ³šæãå¿ èŠã§ãã cucumber-jsãã¹ã¿ãŒã§ãã€å©çšå¯èœã«ãªããããããŠãã®éã«åå²ãããã©ã³ãã®1ã€ã«äŸåããã®ãè³¢æãã©ããã«ã€ããŠã®ç°¡åãªã¢ã€ãã¢ãæããŠãã ããã ããããšãããã¬ã€ã¶ãŒã
+ 1-ãã¡ã€ã«ã«æžã蟌ããã©ã°ãéåžžã«åœ¹ç«ã€å Žåã«ãå床åšã§ãã¥ãŠãªã䜿çšããããã«ããã€ãã®ã¯ã¬ã€ãžãŒãªããã¿ãçµéšããŠããã®ã¯ç§ã ãã§ã¯ãªãããšãç§ã¯ç¥ã£ãŠããŸãã ãã¡ã€ã«ãžã®æžã蟌ã¿ããã£ãŒãã£ãŒã¯ãªãŒããšèŠãªãããçç±ãããããŸããã ãã¥ãŠãªã¯ãéçºè ãèªåã®ä»äºã®è³ªãèŠèŠçã«æ€æ»ã§ããããã«ããããšã ããç®çãšããŠããŸããïŒ ãã倧èŠæš¡ãªãã¹ãç°å¢ã®ç¯å²å ã§ãã¥ãŠãªã䜿çšããããšã¯æ³å®ãããŠããŸãããïŒ ããã¯ããããããšã¯ã§ããŸãã...
ããã
誰ã§ãç§ãå©ããããšãã§ããŸããç§ã¯ãã¡ã€ã«ã«jsonåºåãé©åã«èšå®ããæ¹æ³ãèŠã€ããŠããŸããã
gulp + protractor + cucumberjsã䜿çšããŠããŸã
åãã£ãŠæè¬ããŸã
@cedriclombardot
ç§ã¯äœ¿çšããŠããŸãããã1.5.0ããå床åšããåºåããjsonãžã®ãã£ã¬ã¯ããªãéžæããæ¹æ³ããããŸãã
çŸåšãããã¯ãè¿œå ããŠãprettyãšjsonãã©ãŒããã¿ãŒãäžç·ã«äœ¿çšã§ããããã«ããŠããŸãã
module.exports = function JsonOutputHook() {
var Cucumber = require('cucumber');
var JsonFormatter = Cucumber.Listener.JsonFormatter();
var fs = require('fs');
JsonFormatter.log = function (json) {
fs.writeFile('test/e2e/output/cucumberReport.json', json, function (err) {
if (err) throw err;
console.log('json file location: test/e2e/output/cucumberReport.json');
});
};
this.registerListener(JsonFormatter);
};
resultJsonOutputFile
éæ³ã®ããã«æ©èœããŠæºåãã§ããŠããããã«èŠããã®ãèŠãããšããããŸãã
xmlã«å
¥ãã«ã¯ïŒ https ïŒ
ã»ããªãã¯
2015幎1æ2æ¥åå18æ34åGMT + 01ïŒ00ãžã§ã€ãœã³æ[email protected] ïŒ
@cedriclombardot https://github.com/cedriclombardot
å床åšããjsonåºåãããã£ã¬ã¯ããªãéžæããæ¹æ³ããããŸã
1.5.0䜿çšããŠããŸãããã
çŸåšãããã¯ãè¿œå ããŠãprettyãšjsonãã©ãŒããã¿ãŒãäžç·ã«äœ¿çšã§ããããã«ããŠããŸããmodule.exports = function JsonOutputHookïŒïŒ{
var Cucumber = requireïŒ 'cucumber'ïŒ;
var JsonFormatter = Cucumber.Listener.JsonFormatterïŒïŒ;
var fs = requireïŒ 'fs'ïŒ;JsonFormatter.log = functionïŒjsonïŒ{
fs.writeFileïŒ 'test / e2e / output / cucumberReport.json'ãjsonãfunctionïŒerrïŒ{
ifïŒerrïŒthrow err;
console.logïŒ 'jsonãã¡ã€ã«ã®å ŽæïŒtest / e2e / output / cucumberReport.json'ïŒ;
}ïŒ;
};this.registerListenerïŒJsonFormatterïŒ;
};â
ãã®ã¡ãŒã«ã«çŽæ¥è¿ä¿¡ããããGitHubã§è¡šç€ºããŠãã ãã
https://github.com/cucumber/cucumber-js/issues/90#issuecomment-68544890 ã
+1
ã§ã¯ãããããã€ãã¹ã¿ãŒã«ã³ãããããããã«ã€ããŠã®ææ°æ å ±ãå ¥æã§ããŸããïŒ çŸåšãcucumberjsããå床åšïŒãŸãã¯ãã®ä»ã®ã»ã¬ã³ã¹ã¿ã€ã«ã®Webãã¹ããã¬ãŒã ã¯ãŒã¯ïŒã䜿çšããŠããªãããããã©ãŒããããããã¬ããŒããäœæããã«ã¯cucumberjsãå¿ èŠã§ãã
ããã«é¢ããæŽæ°ã¯ãããŸããïŒ ããã«ããããã®ã¢ãžã¥ãŒã«ã«ããããé©çšãããã䞊åãã¥ãŠãªïŒãã®ã±ãŒã¹ãåŠçããïŒãæ€èšãããããã®ã«ååãªåé¡ãçºçããŸããã
cucumberjs-> webdriverio
+1
ãã®èª¬æã«åŸã£ãŠãcucumberjsjson圢åŒãä¿åããŸãã
https://github.com/mrooding/gulp-protractor-cucumber-html-report#saving -cucumberjs-json-to-disk-when-using-protractor
ããã¯ä»äºã§ã
ãã¥ãŠãªã®jsã¬ããŒããåå ã§ããããŒã¢ã¯ãŒãéããŠãã人ãããå Žåã¯ãcucumber-html-reportsã䜿çšããŠããŸã
support.registerHandler('AfterFeatures', () => {
///* creates report
var options = {
theme: 'bootstrap',
jsonFile: 'cucumberReports/report.json',
output: 'cucumberReports/report.html',
reportSuiteAsScenarios: true,
launchReport: true,
metadata: {
"App Version":"0.3.2",
"Test Environment": "POC",
//"Browser": "Chrome 54.0.2840.98",
//"Platform": "Windows 10",
//"Parallel": "Scenarios",
//"Executed": "Remote"
}
};
reporter.generate(options);
});
å床åšãæŽæ°ããŸããconf.cucumberOpts
format: 'json:cucumberReports/report.json',
ãã®ã¹ã¬ããã¯ãéããããåŸãæè¿ã®ã¢ã¯ãã£ããã£ããªããããèªåçã«ããã¯ãããŠããŸãã é¢é£ãããã°ã«ã€ããŠã¯ãæ°ããåé¡ãéããŠãã ããã
æãåèã«ãªãã³ã¡ã³ã
@cedriclombardot
ç§ã¯äœ¿çšããŠããŸãããã1.5.0ããå床åšããåºåããjsonãžã®ãã£ã¬ã¯ããªãéžæããæ¹æ³ããããŸãã
çŸåšãããã¯ãè¿œå ããŠãprettyãšjsonãã©ãŒããã¿ãŒãäžç·ã«äœ¿çšã§ããããã«ããŠããŸãã