Gurke ist das einfache englische Format, das Cucumber zur Ausführung des Automatisierungstests verstehen kann. Die Gherkin-Feature-Dateisprache ist eine für Unternehmen lesbare domänenspezifische Sprache.
Dieser Code dient zum Konvertieren Ihrer Gherkin-Funktionsdatei in das JSON-Format basierend auf dem JSON Formatter-Framework.
Gurke zu JSON Parser Main
// Gherkin-Feature-Datei in JSON-konvertierte Hauptklasse
öffentliche Klasse GToJRun {
// Hier legen Sie den Gherkin-Pfad fest, auf den die Feature-Datei und der JSON-Dateipfad abgerufen werden sollen
// in das JSON-Format schreiben
privater statischer String featurePath = "c: \ Json \ login.feature";
privater statischer String jasonPath = "c: \ Json \ login.json";
// Für die JSON-Ausgabe als hübsches / unschönes Format festlegen. Standardmäßig ist es hübsch
statischer GtoJCore testG = neuer GtoJCore ("hübsch");
public static void main (String [] args) {
testG.gherkinTojson (featurePath, jasonPath);
}
}
Die Kernklasse basiert auf dem JSON-Formatierungs-Framework. Sie können die Konvertierungszeit abrufen, wenn Sie die Gesamtverarbeitungszeit auf eine größere Feature-Datei überprüfen möchten.
Gurke zu JSON Parser Core
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
java.io.IOException importieren;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import gherkin.formatter.JSONFormatter;
import gherkin.formatter.JSONPrettyFormatter;
import gherkin.parser.Parser;
import gherkin.util.FixJava;
// Gherkin in Json Parser-Kerndatei.
öffentliche Klasse GtoJCore {
privates String-Format;
// Um die Gesamtlaufzeit abzurufen (optional)
long startTime = System.currentTimeMillis ();
public GtoJCore (String outFormat) {
this.format = outFormat;
}
public String getOutFormat () {
Rückgabeformat;
}
public void gherkinTojson (String fPath, String jPath) {
// Definiere die Feature-Datei und den JSON-Dateipfad.
Schnurgurke = null;
Versuchen {
gherkin = FixJava.readReader (neuer InputStreamReader (
new FileInputStream (fPath), "UTF-8")));
} catch (FileNotFoundException e) {
System.out.println ("Feature-Datei nicht gefunden");
// e.printStackTrace ();
} catch (UnsupportedEncodingException e) {
e.printStackTrace ();
} catch (RuntimeException e) {
e.printStackTrace ();
}
StringBuilder json = neuer StringBuilder ();
JSONFormatter-Formatierer;
// hübsche oder hässliche Auswahl, standardmäßig hübsch
if (format.equalsIgnoreCase ("hässlich")) {
formatter = new JSONFormatter (json); // nicht hübsch
} else {
formatter = new JSONPrettyFormatter (json); // ziemlich
}
Parser Parser = neuer Parser (Formatierer);
parser.parse (Gurke, fPath, 0);
formatter.done ();
formatter.close ();
System.out.println ("json-Ausgabe: n" + json + "'");
// Zum Schluss spülen und schließen
Versuchen {
FileWriter-Datei = neuer FileWriter (jPath);
file.write (json.toString ());
file.flush ();
file.close ();
} catch (IOException e) {
e.printStackTrace ();
}
long endTime = System.currentTimeMillis ();
//wahlweise
System.out.println ("n Gesamtlaufzeit:" + (endTime - startTime)
+ ”Millisekunden”);
}
}
Dies bietet Ihnen ein hübsches oder hässliches JSON-Format, das Sie aus der Hauptklasse auswählen können. Sie können den Dateipfad sowohl für die zu lesende Feature-Datei als auch für die zu schreibende JSON-Datei mit der Option zum Auswählen eines ziemlich oder hässlichen Ausgabeformats definieren.