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

Hur skapar du Google Forms Online för ditt företag?

Hur skapar du Google Forms Online för ditt företag?

Det är ganska enkelt att ställa in en Google-blankett och någon kan göra det utan någon kodande upplevelse. Innan vi börjar det måste vi slutföra de frågor som ska ställas och vilken typ av svar som förväntas. Det finns olika typer av fält tillgängliga i designfasen av Google Forms. Till exempel: Flera val, kryssrutor, nedrullning och det vanliga korta svaret, långa svarfält. Dessa alternat...

Nästa Artikel

Hur hittar du en e-post avsändares plats?

Hur hittar du en e-post avsändares plats?

Facebook Twitter Pinterest WhatsApp Telegram Det finns flera anledningar som du vill kontrollera legitimiteten för en e-post som du mottog. Med ökande skräppost och bedrägerier är det nödvändigt att se till att du svarar på rätt person. Den här e-postadressidentifieraren kan ge dig en uppfattning om avsändarplatsen och spara dig från potentiella spam-e-postmeddelanden. Det är enk...