
Gherkin es el formato sencillo en inglés que puede entender a Pepino para ejecutar la prueba de automatización. El lenguaje del archivo de características de Gherkin es un lenguaje específico de dominio legible para negocios.
Este código es para convertir su archivo de características Gherkin al formato JSON basado en el marco del formateador JSON.
Gherkin a JSON Parser principal
// archivo de características Gherkin a JSON convertido clase principal
clase pública GToJRun {
// Aquí se configura la ruta Gherkin para recuperar el archivo de características y la ruta del archivo JSON para
// escribir en formato JSON
private static String featurePath = "c: \ Json \ login.feature";
Cadena estática privada jasonPath = "c: \ Json \ login.json";
// Establecer como bonito / feo formato para la salida JSON. Por defecto es bonito.
static GtoJCore testG = new GtoJCore ("pretty");
public static void main (String [] args) {
testG.gherkinTojson (featurePath, jasonPath);
}
}
La clase principal se basa en el marco del formateador JSON. Puede obtener el tiempo de conversión si desea verificar el tiempo total de procesamiento para un archivo de características más grande.
Gherkin a JSON Parser Core
importar java.io.FileInputStream;
importar java.io.FileNotFoundException;
import java.io.FileWriter;
import java.io.IOException;
importar java.io.InputStreamReader;
importar java.io.UnsupportedEncodingException;
importar gherkin.formatter.JSONFormatter;
importar gherkin.formatter.JSONPrettyFormatter;
importar gherkin.parser.Parser;
import gherkin.util.FixJava;
// Gherkin a Json parser core file.
clase pública GtoJCore {
formato de cadena privada;
// Para obtener el tiempo total de ejecución (opcional)
long startTime = System.currentTimeMillis ();
GtoJCore público (String outFormat) {
this.format = outFormat;
}
cadena pública getOutFormat () {
formato de retorno;
}
public void gherkinTojson (String fPath, String jPath) {
// Definir archivo de características y ruta de archivo JSON.
Cuerda de pepinillo = nula;
tratar {
gherkin = FixJava.readReader (nuevo InputStreamReader (
nuevo FileInputStream (fPath), "UTF-8"));
} catch (FileNotFoundException e) {
System.out.println ("Archivo de características no encontrado");
// e.printStackTrace ();
} catch (UnsupportedEncodingException e) {
e.printStackTrace ();
} catch (RuntimeException e) {
e.printStackTrace ();
}
StringBuilder json = new StringBuilder ();
JSONFormatter formatter;
// selección bonita o fea, bonita por defecto
if (format.equalsIgnoreCase ("feo")) {
formatter = new JSONFormatter (json); // no es bonito
} else {
formatter = new JSONPrettyFormatter (json); // pretty
}
Analizador analizador = nuevo Analizador (formateador);
parser.parse (gherkin, fPath, 0);
formatter.done ();
formatter.close ();
System.out.println (“salida de json: n” + json + “'”);
// Finalmente, enrasar y cerrar.
tratar {
Archivo FileWriter = nuevo FileWriter (jPath);
file.write (json.toString ());
archivo.flush ();
archivo.close ();
} captura (IOException e) {
e.printStackTrace ();
}
long endTime = System.currentTimeMillis ();
//Opcional
System.out.println ("n Tiempo total de ejecución:" + (endTime - startTime)
+ "Milisegundos");
}
}
Esto le proporciona un formato JSON bonito o feo que puede seleccionar de la clase principal. Puede definir la ruta del archivo para que el archivo de características se lea y el archivo JSON para escribir con la opción para seleccionar un formato de salida bonito o feo.