En pen tilnærming til å analysere Gherkin Feature-filen til JSON



Gherkin er det enkle engelske formatet som kan forstå agurk for å kjøre automatiseringstesten. Gherkinsfunksjonens filsprog er forretningslesbart domenespesifikt språk.

Denne koden er å konvertere Gherkin-funksjonen til JSON-format basert på JSON Formatter-rammeverket.

Gherkin til JSON Parser Main

// Gherkin funksjonen fil til JSON konvertert hovedklassen

offentlig klasse GToJRun {

// Her sette Gherkin banen for å hente funksjonsfil og JSON filsti til

// Skriv inn JSON-format

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

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

// Sett som pen / stygg format for JSON-utgang. Som standard er det pent

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

offentlig statisk tomrom main (String [] args) {

testG.gherkinTojson (featurePath, jasonPath);

}

}

Kjerneklassen er basert på JSON formateringsramme. Du kan få konverteringstid hvis du vil sjekke total behandlingstid for en større funksjonsfil.

Gherkin 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 kjernen fil.

offentlig klasse GtoJCore {

privat strengformat;

// For å få total kjøretid (valgfritt)

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.

Stringkarbon = null;

prøv {

gherkin = FixJava.readReader (ny InputStreamReader (

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

} fangst (FileNotFoundException e) {

System.out.println ("Funksjonsfil ikke funnet");

// e.printStackTrace ();

} fangst (UnsupportedEncodingException e) {

e.printStackTrace ();

} fangst (RuntimeException e) {

e.printStackTrace ();

}

StringBuilder json = ny StringBuilder ();

JSONFormatter formatter;

// pent eller styggt utvalg, ganske som standard

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

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

} annet {

formatter = nytt JSONPrettyFormatter (json); // pretty

}

Parser parser = ny Parser (formatter);

parser.parse (gherkin, fPath, 0);

formatter.done ();

formatter.close ();

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

// Skyll endelig og lukk

prøv {

FileWriter file = new FileWriter (jPath);

file.write (json.toString ());

file.flush ();

file.close ();

} fangst (IOException e) {

e.printStackTrace ();

}

lang endTime = System.currentTimeMillis ();

//valgfri

System.out.println ("n Totalt kjøretid:" + (endTime - startTime)

+ "Millisekunder");

}

}

Dette gir deg et pent eller stygg JSON-format som du kan velge fra hovedklassen. Du kan definere filbanen både for funksjonsfil for å lese og JSON-fil for å skrive med alternativet for å velge pent eller styggt utdataformat.

Forrige Artikkel

8 beste bilbatteriladere og hoppestartere.

8 beste bilbatteriladere og hoppestartere.

Den bærbare bilens batterilader er et must-have utstyr for å takle nødsituasjoner. Tenk deg en situasjon der bilen stopper på grunn av et dødt batteri, og du er helt strandet. Det er da du skjønner at ting gikk ekstremt galt. Den bærbare batteriladeren kommer inn i spill når bilen står fast med et dødt batteri. Bilens b...

Neste Artikkel

Lås opp Samsung-telefon uten hard gjenoppretting som glemte alternativt passord eller ikke gjenkjenne fingeravtrykk

Lås opp Samsung-telefon uten hard gjenoppretting som glemte alternativt passord eller ikke gjenkjenne fingeravtrykk

Dette er en løsning som hjelper deg med å låse opp Samsung Galaxy S5, S6, S7, Edge eller S8 som ikke lenger gjenkjenner fingeravtrykk og alternativt passord uten hard tilbakestilling eller tap av data. Sannsynligvis slutter du på denne artikkelen fordi du er låst ut med din Samsung-telefon, og Samsung gjenkjenner ikke lenger fingeravtrykk eller alternativt passord. Vær...