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.