CucumberJS JSON Reporter
wdio-cucumberjs-json-reporter ist ein Paket von Drittanbietern. Weitere Informationen finden Sie auf GitHub | npm
Ein WDIO-Reporter, der CucumberJS-JSON-Dateien für WebdriverIO v8 und höher erstellt.
Was macht es
Dieser Reporter generiert eine Cucumber JSON-Datei für jedes Feature, das getestet wird. Die JSON-Datei kann mit jedem beliebigen Bericht verwendet werden, den Sie verwenden möchten, wie zum Beispiel multiple-cucumber-html-reporter.
Es fügt der Feature-Datei auch Metadaten über die laufende Instanz hinzu und bietet Ihnen nicht zuletzt die Möglichkeit, Anhänge zur JSON-Ausgabe hinzuzufügen.
Installation
Am einfachsten ist es, wdio-cucumberjs-json-reporter als devDependency in Ihrer package.json zu behalten.
{
"devDependencies": {
"wdio-cucumberjs-json-reporter": "^5.0.0"
}
}
Sie können es einfach mit folgendem Befehl tun:
npm install wdio-cucumberjs-json-reporter --save-dev
so wird es automatisch zu Ihrer package.json hinzugefügt
Anweisungen zur Installation von WebdriverIO finden Sie hier.
Konfiguration
Konfigurieren Sie das Ausgabeverzeichnis und die Sprache in Ihrer wdio.conf.js-Datei:
export const config = {
// ...
reporters: [
// So mit den Standardoptionen, siehe die Optionen unten
'cucumberjs-json',
// ODER so, wenn Sie den Ordner und die Sprache festlegen möchten
[ 'cucumberjs-json', {
jsonFolder: '.tmp/new/',
language: 'en',
},
],
],
// ...
}
VERWENDEN SIE NICHT BEIDE METHODEN ZUM HINZUFÜGEN DES REPORTERS, DIES IST NUR EIN BEISPIEL!
Optionen
jsonFolder
- Typ:
String - Erforderlich: Nein
- Standard:
.tmp/json/
Das Verzeichnis, in dem die von diesem Bericht generierten JSON-Dateien gespeichert werden, relativ zu dem Ort, von dem aus das Skript gestartet wird.
Hinweis: Wenn Sie ein npm-Skript von der Kommandozeile aus verwenden, wie zum Beispiel npm run test, wird der jsonFolder relativ zu dem Pfad sein, von dem aus das Skript ausgeführt wird. Die Ausführung vom Stammverzeichnis Ihres Projekts aus erstellt den jsonFolder auch im Stammverzeichnis Ihres Projekts.
language
- Typ:
String - Erforderlich: Nein
- Standard:
en
Die Sprache, in der die Gherkin-Szenarien geschrieben sind (standardmäßig Englisch). Die Liste der Sprachcodes und ihrer Schlüsselwörter finden Sie hier.
disableHooks
- Typ:
boolean - Erforderlich: Nein
- Standard:
false
Hook-Details werden nicht Teil der Generierung sein, wenn diese Eigenschaft auf true gesetzt ist.
reportFilePerRetry
- Typ:
boolean - Erforderlich: Nein
- Standard:
true
Wenn ein Spec wiederholt wird, wird der Bericht an die bestehende Berichtsdatei aus den vorherigen Versuchen angehängt, wenn diese Eigenschaft auf false gesetzt ist.
Beispiel:
['cucumberjs-json', { jsonFolder: '.tmp/new/', language: 'en', disableHooks:true}]
Metadaten
Hinweis:
Dies wird derzeit nicht unterstützt, wenn Sie WebdriverIO V6 verwenden. WebdriverIO V5 unterstützt dies weiterhin und WebdriverIO V7 unterstützt es wieder.
Wie bereits erwähnt, kann dieser Bericht automatisch die Metadaten des aktuellen Computers/Geräts speichern, auf dem das Feature ausgeführt wurde.
Um dies anzupassen, können Sie es hinzufügen, indem Sie das folgende Objekt zu Ihren capabilities hinzufügen
// Beispiel wdio.conf.js
export const config = {
//..
capabilities: [
{
browserName: 'chrome',
// Fügen Sie das hinzu
'cjson:metadata': {
// Für einen Browser
browser: {
name: 'chrome',
version: '58',
},
// für eine App
app: {
name: 'name.of.app.ipa',
version: '1.2.3',
},
device: 'MacBook Pro 15',
platform: {
name: 'OSX',
version: '10.12.6'
}
},
},
],
};
Das Metadatenobjekt muss das Präfix
cjsonhaben, sonst funktioniert es nicht!
