Gherkin é o formato inglês simples que pode entender o Pepino para executar o teste de automação. A linguagem de arquivos do recurso Gherkin é um idioma específico do domínio legível para empresas.
Este código é converter seu arquivo de recurso Gherkin para o formato JSON com base na estrutura do JSON Formatter.
Gherkin para o JSON Parser Main
// Arquivo de recurso Gherkin para a classe principal convertida em JSON
classe pública GToJRun {
// Aqui, defina o caminho do Gherkin para buscar o arquivo de recursos e o caminho do arquivo JSON para
// escrever no formato JSON
private static String featurePath = “c: \ Json \ login.feature”;
private static String jasonPath = “c: \ Json \ login.json”;
// Defina como formato bonito / feio para saída JSON. Por padrão, é bonito
estático GtoJCore testG = new GtoJCore (“pretty”);
public static void main (String [] args) {
testG.gherkinTojson (featurePath, jasonPath);
}
}
A classe principal é baseada na estrutura do formatador JSON. Você pode obter o tempo de conversão se quiser verificar o tempo total de processamento de um arquivo de recurso maior.
Gherkin para o núcleo do analisador JSON
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;
// Gherkin para o arquivo principal do analisador Json.
classe pública GtoJCore {
formato de sequência privada;
// Para obter o tempo total de execução (opcional)
long startTime = System.currentTimeMillis ();
public GtoJCore (String outFormat) {
this.format = outFormat;
}
public String getOutFormat () {
formato de retorno;
}
public void gherkinTojson (String fPath, String jPath) {
// Defina o arquivo de recursos e o caminho do arquivo JSON.
Pepino de cadeia = nulo;
experimentar {
gherkin = FixJava.readReader (novo InputStreamReader (
new FileInputStream (fPath), “UTF-8”));
} catch (FileNotFoundException e) {
System.out.println (“Arquivo de recurso não encontrado”);
// e.printStackTrace ();
} catch (UnsupportedEncodingException e) {
e.printStackTrace ();
} catch (RuntimeException e) {
e.printStackTrace ();
}
StringBuilder json = new StringBuilder ();
JSONFormatter formatter;
// seleção bonita ou feia, bonita por padrão
if (format.equalsIgnoreCase (“feio”)) {
formatter = new JSONFormatter (json); // não é bonito
} outro {
formatador = novo JSONPrettyFormatter (json); // pretty
}
Parser parser = new Parser (formatter);
parser.parse (pepino, fPath, 0);
formatter.done ();
formatter.close ();
System.out.println (“saída de json: n” + json + “'”);
// Finalmente, lave e feche
experimentar {
Arquivo FileWriter = new FileWriter (jPath);
file.write (json.toString ());
file.flush ();
file.close ();
} catch (IOException e) {
e.printStackTrace ();
}
long endTime = System.currentTimeMillis ();
//opcional
System.out.println ("n tempo de execução total:" + (endTime - startTime)
+ "Milissegundos");
}
}
Isso fornece um formato JSON bonito ou feio que você pode selecionar na classe principal. Você pode definir o caminho do arquivo para que o arquivo de recurso seja lido e o arquivo JSON seja gravado com a opção de selecionar o formato de saída bonito ou feio.