En vacker tillvägagångssätt för att analysera Gherkin Feature-fil till JSON



Gurka är det engelska engelska formatet som kan förstå gurka för att köra automationstestet. Gherkins funktionsfilsspråk är ett företagsläsbart domänspecifik språk.

Den här koden är att konvertera din Gurkinsfunktionsfil till JSON-format baserat på JSON Formatter-ramverket.

Gurkin till JSON Parser Main

// Gherkin funktionen fil till JSON konverterade huvudklassen

offentlig klass GToJRun {

// Här ställer du in Gurkinvägen för att hämta funktionsfil och JSON-filväg till

// skriv i JSON-format

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

privat statisk sträng jasonPath = "c: \ Json \ login.json";

// Ange som söt / ful format för JSON-utgång. Som standard är det ganska

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

statisk statisk tomt huvud (String [] args) {

testG.gherkinTojson (featurePath, jasonPath);

}

}

Kärnklassen är baserad på JSON formatteringsramen. Du kan få omvandlingstiden om du vill kontrollera den totala bearbetningstiden för en större funktionsfil.

Gurkin till JSON Parser Core

importera java.io.FileInputStream;

importera java.io.FileNotFoundException;

importera java.io.FileWriter;

importera java.io.IOException;

importera java.io.InputStreamReader;

importera java.io.UnsupportedEncodingException;

importera gherkin.formatter.JSONFormatter;

importera gherkin.formatter.JSONPrettyFormatter;

importera gherkin.parser.Parser;

importera gherkin.util.FixJava;

// Gherkin to Json parser core file.

offentlig klass GtoJCore {

privat strängformat;

// För att få total körtid (valfritt)

long startTime = System.currentTimeMillis ();

offentlig GtoJCore (String outFormat) {

this.format = outFormat;

}

offentlig sträng getOutFormat () {

returformat;

}

public void gherkinTojson (String fPath, String jPath) {

// Definiera funktionsfil och JSON-filväg.

Stringkarbin = null;

Prova {

gherkin = FixJava.readReader (ny InputStreamReader (

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

} fånga (FileNotFoundException e) {

System.out.println ("Funktionsfilen hittades inte");

// e.printStackTrace ();

} fånga (UnsupportedEncodingException e) {

e.printStackTrace ();

} fånga (RuntimeException e) {

e.printStackTrace ();

}

StringBuilder json = new StringBuilder ();

JSONFormatter formaterare;

// ganska eller fult val, ganska som standard

om (format.equalsIgnoreCase ("ful")) {

formatter = ny JSONFormatter (json); // inte söt

} annat {

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 + "'");

// Spola slutligen och stäng

Prova {

FileWriter-fil = ny FileWriter (jPath);

file.write (json.toString ());

file.flush ();

file.close ();

} fånga (IOException e) {

e.printStackTrace ();

}

long endTime = System.currentTimeMillis ();

//valfri

System.out.println ("n Total körtid:" + (endTime - startTime)

+ "Millisekunder");

}

}

Detta ger dig ett vackert eller fult JSON-format som du kan välja från Main Class. Du kan definiera filvägen både för funktionfilen att läsa och JSON-filen för att skriva med alternativet för att välja sött eller fuligt format.

Tidigare Artikel

5 Inbyggd Mac-säkerhetsprogramvara som du aldrig visste i OS X

5 Inbyggd Mac-säkerhetsprogramvara som du aldrig visste i OS X

Facebook Twitter Pinterest WhatsApp Telegram Apple gjorde ett utmärkt jobb på Mac OS X Security för att skydda sitt system. Tro eller inte, det finns minst sju inbyggda Mac Security Software för att skydda användare från hackare och internethot. Jag visste aldrig att några av dem har funnits i min Mac Book Pro. Mac-a...

Nästa Artikel

7 gratis Android Apps för att låsa foton och videor från inkräktare

7 gratis Android Apps för att låsa foton och videor från inkräktare

Med avancerad teknik, riskerar varje användares integritet. Var och en av oss använder sina smartphones för att lagra bilder och videor. Det finns applikationer som hjälper oss att dela våra bilder inom några sekunder. Men vi kanske inte vill att alla ska se alla foton som vi har på vår telefon. Vad gö...