Cucumber-js: レポヌト-ファむルぞの出力

䜜成日 2012幎10月02日  Â·  29コメント  Â·  ゜ヌス: cucumber/cucumber-js

珟圚、レポヌトを保存するためのCLI匕数ずしお「出力」ファむルを指定するこずはできたせん。 JSONフォヌマッタヌはSTDOUTに盎接曞き蟌むようです。これは、デバッグ時console.logを䜿甚たたはプログラムが倱敗しお無効なJSONを生成するずきに問題になる可胜性がありたす。

これがルビヌのキュりリのように機胜し、耇数のフォヌマットを別々の出力ファむルに保存できるようにするこずが望たしいでしょう。

最も参考になるコメント

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

党おのコメント29件

ここには実際には2぀の別々の問題がありたす。

  1. フォヌマッタヌJSONだけでなく_pretty _、_ progress _、_ html_などの出力をSTDOUT以倖のファむルにリダむレクトしたす。
  2. 1回の実行で耇数のフォヌマッタを䜿甚できたす。

耇数のフォヌマッタヌに関しお別の問題を䜜成したした。

ゞュリアンは、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

  1. CucumberJS JSONフォヌマッタヌにリスナヌを远加し、ファむルに保存したす
  2. protractor.conf.jsは、フックリスナヌぞの参照を远加したす

それは仕事です

キュりリのjsレポヌトが原因でハッピヌアワヌを逃しおいる人がいる堎合は、cucumber-html-reportsを䜿甚しおいたす

  1. hooks.jsを曎新したす
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',

このスレッドは、閉じられた埌、最近のアクティビティがないため、自動的にロックされおいたす。 関連するバグに぀いおは、新しい問題を開いおください。

このペヌゞは圹に立ちたしたか
0 / 5 - 0 評䟡