2016-08-10 40 views
0

我使用「量角器 - 黃瓜 - 框架」將Cucumber和Protractor一起用於自動化(使用CHAI作爲斷言庫)。需要在report.json中進行量角器 - 黃瓜測試的步驟信息

我正在使用resultJsonOutputFile:'./report.json'來生成JSON日誌報告。我在日誌文件中看不到步驟信息,而只是顯示每個塊的傳遞屬性。示例功能文件和下面生成的JSON報告。

sample json file

sample feature file

我想包括在以後爲前特徵文件 「然後」 的文字。那可能嗎?

有人可以幫我解決這個問題嗎?

回答

0

resultJsonOutputFile將生成屬於量角器的json文件幷包含基本規格信息。由於您使用Cucumber作爲量角器的測試框架,因此您必須生成黃瓜生成的Cucumber-Report.json。它將具有您所有的步驟定義細節!爲了實現這一點,你可以在你的hooks.js文件中添加以下代碼:

var Cucumber = require('cucumber'); //npm install -g cucumber 
var jsonReporter = function() { 
"use strict"; 
var outputDir = './Reports/'; 
var JsonFormatter = Cucumber.Listener.JsonFormatter(); 
JsonFormatter.log = function (string) { 
    if (!fs.existsSync(outputDir)) { 
     fs.mkdirSync(outputDir); 
    } 

var targetJson = outputDir + 'cucumber_report.json'; 
    fs.writeFile(targetJson, string, function (err) { 
     if (err) { 
      console.log('Failed to save cucumber test results to json file.'); 
      console.log(err); 
     } 
    }); 
}; 
this.registerListener(JsonFormatter); 

module.exports = jsonReporter; 

這將創建一個Reports文件夾中,你會看到cucumber_report.json文件

+0

感謝@ igniteram1的答案。由於我是黃瓜新手,我無法將這個hooks.js連接到我的stepdef文件。我在文件夾中提供了文件hooks.js,stepdefinition文件。 Sibile到這個文件夾我conf.js。你能告訴我在哪裏需要這個鉤子文件,它將創建json文件。 –

+0

你必須在'cucumberOpts'的'conf.js'中要求它們以及你的步驟定義! –

+0

是的,我做到了,我能夠按預期生成json文件。謝謝 –