Gherkin è il semplice formato inglese in grado di comprendere Cucumber per eseguire il test di automazione. Il linguaggio dei file di feature Gherkin è un linguaggio specifico del dominio leggibile dal business.
Questo codice serve per convertire il tuo file Gherkin in formato JSON basato sul framework JSON Formatter.
Gherkin a JSON Parser Main
// Il file di feature Gherkin nella classe principale convertita JSON
classe pubblica GToJRun {
// Qui viene impostato il percorso Gherkin per recuperare il file di funzione e il percorso del file JSON su
// scrive in formato JSON
private static String featurePath = "c: \ Json \ login.feature";
stringa statica privata jasonPath = "c: \ Json \ login.json";
// Imposta come formato abbastanza / brutto per l'output JSON. Di default è carino
statico GtoJCore testG = new GtoJCore ("pretty");
public static void main (String [] args) {
testG.gherkinTojson (featurePath, jasonPath);
}
}
La core class è basata sul framework del formattatore JSON. È possibile ottenere il tempo di conversione se si desidera verificare il tempo di elaborazione totale per un file di funzionalità più grande.
Gherkin a JSON Parser Core
importare java.io.FileInputStream;
import java.io.FileNotFoundException;
importare 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;
// File Gherkin to JSON parser core.
classe pubblica GtoJCore {
formato String privato;
// Per ottenere il tempo di esecuzione totale (facoltativo)
long startTime = System.currentTimeMillis ();
public GtoJCore (String outFormat) {
this.format = outFormat;
}
public String getOutFormat () {
formato di ritorno;
}
public void gherkinTojson (String fPath, String jPath) {
// Definire il file delle caratteristiche e il percorso del file JSON.
String gherkin = null;
provare {
gherkin = FixJava.readReader (new InputStreamReader (
nuovo FileInputStream (fPath), "UTF-8"));
} catch (FileNotFoundException e) {
System.out.println ("File delle funzioni non trovato");
// e.printStackTrace ();
} catch (UnsupportedEncodingException e) {
e.printStackTrace ();
} catch (RuntimeException e) {
e.printStackTrace ();
}
StringBuilder json = new StringBuilder ();
Formattatore JSONFormatter;
// selezione carina o brutta, carina di default
if (format.equalsIgnoreCase ("ugly")) {
formatter = new JSONFormatter (json); // non carino
} altro {
formatter = new JSONPrettyFormatter (json); // pretty
}
Parser parser = new Parser (formatter);
parser.parse (gherkin, fPath, 0);
formatter.done ();
formatter.close ();
System.out.println ("json output: n" + json + "'");
// Finalmente arrossisci e chiudi
provare {
File FileWriter = nuovo FileWriter (jPath);
file.write (json.toString ());
file.flush ();
file.close ();
} catch (IOException e) {
e.printStackTrace ();
}
long endTime = System.currentTimeMillis ();
//opzionale
System.out.println ("n Tempo di esecuzione totale:" + (endTime - startTime)
+ "Millisecondi");
}
}
Questo ti fornisce un formato JSON carino o brutto che puoi selezionare dalla Main Class. È possibile definire il percorso del file sia per il file di feature da leggere che per il file JSON da scrivere con l'opzione per selezionare il formato di output carino o brutto.