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 delas du i Live Location på WhatsApp?

Hur delas du i Live Location på WhatsApp?

Levande platsdelning är en livräddande funktion när du är i ett problem att gå vilse på gatan. Vi har redan förklarat hur du utför live plats för iPhone med Message apps. WhatsApp är nummer 1 gratis chatt app och erbjuder funktionen live plats direkt från app chattfönstret. Låt oss nu förklara hur du delar live plats på WhatsApp för både Andoird och iPhone-användare. Skicka nuvarande...

Nästa Artikel

4 Bästa Online Email Scheduler Site för framtida och återkommande e-postmeddelanden.

4 Bästa Online Email Scheduler Site för framtida och återkommande e-postmeddelanden.

Nu kan du hålla alla dina vänners födelsedags e-postmeddelanden schemalagda i förväg för att leverera direkt på födelsedagen varje år. Trevlig fångst, eller hur? Det är trevligt och överraskande att känna när du delar en text eller e-postmeddelanden på din väns födelsedag. Det finns några verktyg på nätet som kan hjälpa dig att utnyttja denna återkommande e-post eller epostschemaläggningsfunktioner. Dessa onlineverktyg k...