En Pretty Approach to Parse Gherkin Feature Fil til JSON



Gurkin er det almindelige engelske format, der kan forstå agurk for at køre automatiseringstesten. Gherkins funktion filsprog er business læses domæne specifikke sprog.

Denne kode er at konvertere din Gherkin funktion fil til JSON format baseret på JSON Formatter ramme.

Gurkin til JSON Parser Main

// Gherkin feature fil til JSON konverterede hovedklasse

offentlig klasse GToJRun {

// Her indstille Gurkin-stien til at hente funktionsfil og JSON-filsti til

// skriv i JSON format

privat statisk String featurePath = "c: \ Json \ login.feature";

privat statisk String jasonPath = "c: \ Json \ login.json";

// Sæt som smukt / grimt format til til JSON output. Som standard er det smukt

statisk GtoJCore testG = ny GtoJCore ("pretty");

offentlig statisk tomrum hoved (String [] args) {

testG.gherkinTojson (featurePath, jasonPath);

}

}

Kerneklassen er baseret på JSON formateringsrammer. Du kan få konverteringstid, hvis du vil kontrollere den samlede behandlingstid for en større funktionsfil.

Gurkin til JSON Parser Core

importer java.io.FileInputStream;

importer java.io.FileNotFoundException;

importer java.io.FileWriter;

importer java.io.IOException;

importer java.io.InputStreamReader;

importer java.io.UnsupportedEncodingException;

importere gherkin.formatter.JSONFormatter;

importere gherkin.formatter.JSONPrettyFormatter;

importere gherkin.parser.Parser;

importere gherkin.util.FixJava;

// Gherkin til Json parser kernen fil.

offentlig klasse GtoJCore {

private strengformat;

// For at få den samlede driftstid (valgfrit)

lang startTime = System.currentTimeMillis ();

offentlig GtoJCore (String outFormat) {

this.format = outFormat;

}

offentlig String getOutFormat () {

returformat;

}

offentlig ugyldig gherkinTojson (String fPath, String jPath) {

// Definer Feature File og JSON File path.

Stringgurk = null;

prøve {

gherkin = FixJava.readReader (ny InputStreamReader (

ny FileInputStream (fPath), "UTF-8"));

} fangst (FileNotFoundException e) {

System.out.println ("Funktionsfil ikke fundet");

// e.printStackTrace ();

} catch (UnsupportedEncodingException e) {

e.printStackTrace ();

} fangst (RuntimeException e) {

e.printStackTrace ();

}

StringBuilder json = ny StringBuilder ();

JSONFormatter formatter;

// pænt eller grimt valg, temmelig som standard

hvis (format.equalsIgnoreCase ("grimt")) {

formatter = ny JSONFormatter (json); // ikke smuk

} ellers {

formatter = ny JSONPrettyFormatter (json); // pretty

}

Parser parser = ny Parser (formatter);

parser.parse (gherkin, fPath, 0);

formatter.done ();

formatter.close ();

System.out.println ("json output: n" + json + "'");

// Spyl og luk endelig

prøve {

FileWriter file = new FileWriter (jPath);

file.write (json.toString ());

file.flush ();

file.close ();

} fangst (IOException e) {

e.printStackTrace ();

}

long endTime = System.currentTimeMillis ();

//valgfri

System.out.println ("n Samlet løbstid:" + (endTime - startTime)

+ "Millisekunder");

}

}

Dette giver dig et smukt eller grimt JSON-format, som du kan vælge fra hovedklassen. Du kan definere filstien både for funktionen fil, der skal læses og JSON filen til at skrive med mulighed for at vælge smukke eller grimme output format.

Forrige Artikel

Sådan tilsluttes ekstern harddisk til hjemme netværk over WiFi uden pc?

Sådan tilsluttes ekstern harddisk til hjemme netværk over WiFi uden pc?

Denne power backup og indbygget WiFi tillader at kommunikere og overføre filer, selv når du rejser. Disse bærbare harddiske kan kommunikere med mobiltelefoner, tablets og WiFi-aktiverede kameraer og bærbare computere direkte med den indbyggede Wi-Fi på harddisken. Ved du, at du kan vedhæfte en ekstern harddisk til hjemme-router og bruge som en del af hjemmenetværket? Hardd...

Næste Artikel

Apple iPad Air 2 & iPad Mini 3 Vs Samsung Galaxy Tab 4 Vs Google Nexus 9

Apple iPad Air 2 & iPad Mini 3 Vs Samsung Galaxy Tab 4 Vs Google Nexus 9

Facebook Twitter pinterest WhatsApp Telegram Apple har introduceret deres nye iPad Air 2 og iPad Mini 3 sammen med nye 27 "iMac med Retina 5K display, New Mac Mini, Mac OS X Yosemite og iOS 8.1 den 16. oktober 14. Apple har forbedret designet med mange nye funktioner at tackle konkurrencen fra andre spillere som Google og Samsung...