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

Lås op Samsung-telefon uden hårde nulstillelse, som glemte alternativ adgangskode eller ikke genkende fingeraftryk

Lås op Samsung-telefon uden hårde nulstillelse, som glemte alternativ adgangskode eller ikke genkende fingeraftryk

Dette er en løsning, der hjælper dig med at låse op for Samsung Galaxy S5, S6, S7, Edge eller S8, som ikke længere genkender fingeraftryk og alternativ adgangskode uden hard reset eller tab af data. Sandsynligvis slutter du på denne artikel, fordi du er låst med din Samsung-telefon, og Samsung genkender ikke længere fingeraftryk eller alternativ adgangskode. Vær o...

Næste Artikel

Ultimativ købsvejledning til induktionskoger, du skal vide.

Ultimativ købsvejledning til induktionskoger, du skal vide.

Induktion kogeplade er et klogt valg til dit moderne køkken for at gøre det effektivt og unikt. Sammenligner med Gas eller Elektrisk kogeplade, er denne teknologi baseret på magnetisk induktion. Resultatet er rent, energieffektivt og cool gadget til dit moderne køkken. Den stigende stjerne i moderne køkkener, induktionsopvarmning er dybest set overførslen af ​​magnetisk energi fra en ledningspole ind i gryden fremstillet af materialet, som har potentialet til at være magnetisk ledende og ferromagnetisk. Induktion...