2016-08-08 58 views
0

Ich bin relativ neu zu End-to-End-Tests mit Protractor, Mocha und Yadda (für die Integration mit Mocha so kann ich Gherkin und Schrittdefinitionen verwenden).Generieren JSON-Objekt der Tests lief mit Winkelmesser?

Ich habe ein Plugin mit dem Namen Mochawesome gesehen, das einen HTML-Bericht erzeugt, der offline betrachtet werden kann, zusammen mit diesem JSON-Objekt der Testergebnisse, die alle in einem 'reports'-Ordner enthalten sind.

Ich nehme an, es ist Mochawesome, die diese JSON-Objekte generiert, da die HTML-Seite entsprechende Tags usw. zu haben scheint Gibt es eine Möglichkeit, ein JSON-Objekt der Tests ohne den HTML-Reporter zu generieren? Die Idee war, ein eigenes 'Dashboard' zu erstellen, das Informationen zu den Tests auf Basis der JSON-Informationen enthält.

Antwort

1

Ja Sie eine JSON report Ihrer Spezifikationen erstellen/Tests mit protractor.You haben nur resultJsonOutputFile: './Report.json' in Ihrer Konfigurationsdatei zu setzen.

Ihre Konfigurationsdatei etwas sollte wie folgt aussehen:

exports.config = { 

directConnect: true, 
capabilities: { 
    'browserName': 'chrome' 
}, 
baseUrl: 'http://juliemr.github.io/protractor-demo/', 
framework: 'jasmine2', 
specs: ['*spec.js '], 
allScriptsTimeout: 180000, 
getPageTimeout: 180000, 
jasmineNodeOpts: { 
    defaultTimeoutInterval: 180000 
}, 
resultJsonOutputFile: './Report.json', // It would create report.json file in your current folder 
onPrepare: function() { 

    browser.driver.manage().window().maximize(); 
    browser.ignoreSynchronization = true; 
} 
}; 

Sie dieses json report und es dir in den Weg nutzen verbrauchen können!

+0

Genau das habe ich gesucht, vielen Dank! – user6690217

0

Ich bin mir nicht sicher, JSON-Objekt direkt in Winkelmesser zu generieren. Aber was ich weiß ist, dass wir Ergebnisse in XML generieren und dann XML in JSON konvertieren können, indem wir etwas angepassten Code schreiben.

-Code zum Erzeugen von XML-Berichte sind wie folgt:

 framework: "jasmine2", 
    onPrepare: function() { 
     var jasmineReporters = require('jasmine-reporters'), 
     jasmine.getEnv().addReporter(new jasmineReporters.JUnitXmlReporter({ 
      savePath: '../result/', 
      filePrefix: ‘report’, 
      consolidateAll: true 
      }); 
     ); 
    },