Gherkin to zwykły angielski format, który może zrozumieć Ogórek, aby uruchomić test automatyzacji. Język plików funkcji Gherkin to język specyficzny dla danej domeny biznesowej.
Ten kod służy do konwersji pliku funkcji Gherkin do formatu JSON opartego na strukturze JSON Formatter.
Gherkin do JSON Parser Main
// Plik funkcji Korniszona do konwertowanej klasy głównej JSON
klasa publiczna GToJRun {
// Tutaj ustaw ścieżkę Gherkin do pobierania pliku funkcji i ścieżki pliku JSON do
// zapisz w formacie JSON
prywatny statyczny ciąg featurePath = „c: Json login.feature”;
prywatny statyczny ciąg jasonPath = „c: Json login.json”;
// Ustaw jako ładny / brzydki format dla wyjścia JSON. Domyślnie jest ładna
statyczny GtoJCore testG = nowy GtoJCore („ładny”);
public static void main (String [] args) {
testG.gherkinTojson (featurePath, jasonPath);
}
}
Podstawowa klasa jest oparta na strukturze formatowania JSON. Możesz uzyskać czas konwersji, jeśli chcesz sprawdzić całkowity czas przetwarzania większego pliku funkcji.
Gherkin to JSON Parser Core
import java.io.FileInputStream;
import java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
import java.io.InputStreamReader;
import java.io.UnsupportedEncodingException;
import gherkin.formatter.JSONFormatter;
import gherkin.formatter.JSONPrettyFormatter;
import gherkin.parser.Parser;
import gherkin.util.FixJava;
// Korniszon do pliku podstawowego parsera Jsona.
klasa publiczna GtoJCore {
prywatny format String;
// Aby uzyskać całkowity czas pracy (opcjonalnie)
long startTime = System.currentTimeMillis ();
public GtoJCore (String outFormat) {
this.format = outFormat;
}
public String getOutFormat () {
format powrotu;
}
public void gherkinTojson (String fPath, String jPath) {
// Definiowanie pliku funkcji i ścieżki pliku JSON.
String gherkin = null;
próbować {
gherkin = FixJava.readReader (nowy InputStreamReader (
new FileInputStream (fPath), „UTF-8”));
} catch (FileNotFoundException e) {
System.out.println („Nie znaleziono pliku funkcji”);
// e.printStackTrace ();
} catch (UnsupportedEncodingException e) {
e.printStackTrace ();
} catch (RuntimeException e) {
e.printStackTrace ();
}
StringBuilder json = new StringBuilder ();
Formater JSONFormatter;
// ładny lub brzydki wybór, domyślnie ładny
if (format.equalsIgnoreCase („brzydki”)) {
formatter = nowy JSONFormatter (json); // niezbyt ładny
} else {
formatter = new JSONPrettyFormatter (json); // ładna
}
Parser parser = new Parser (formatowanie);
parser.parse (gherkin, fPath, 0);
formatter.done ();
formatter.close ();
System.out.println („json output: n” + json + „” ”);
// Wreszcie opróżnij i zamknij
próbować {
FileWriter file = new FileWriter (jPath);
file.write (json.toString ());
file.flush ();
file.close ();
} catch (IOException e) {
e.printStackTrace ();
}
long endTime = System.currentTimeMillis ();
//opcjonalny
System.out.println („n Całkowity czas pracy:” + (endTime - startTime)
+ ”Milisekundy”);
}
}
Zapewnia to ładny lub brzydki format JSON, który można wybrać z klasy głównej. Możesz zdefiniować ścieżkę pliku zarówno dla pliku funkcji do odczytu, jak i pliku JSON do zapisu z opcją wyboru ładnego lub brzydkiego formatu wyjściowego.