Een mooie benadering om Gherkin Feature-bestand te parseren naar JSON



Gherkin is het eenvoudige Engelse formaat dat Cucumber kan begrijpen om de automatiseringstest uit te voeren. Gherkin-functiebestandstaal is door een bedrijf leesbaar domeinspecifieke taal.

Deze code is om uw Gherkin-functiebestand te converteren naar JSON-indeling op basis van JSON Formatter-framework.

Gherkin naar JSON Parser Main

// Gherkin-functiebestand naar JSON geconverteerde hoofdklasse

public class GToJRun {

// Hier stelt u het Gherkin-pad in om functiebestand en JSON-bestandspad op te halen

// schrijf in JSON-formaat

private static String featurePath = "c: \ Json \ login.feature";

private static String jasonPath = "c: \ Json \ login.json";

// Stel in als mooie / lelijke indeling voor JSON-uitvoer. Standaard is het mooi

statische GtoJCore-testG = nieuwe GtoJCore ("pretty");

public static void main (String [] args) {

testG.gherkinTojson (featurePath, jasonPath);

}

}

De kernklasse is gebaseerd op JSON-formatteerraamwerk. U kunt de tijd voor het converteren verkrijgen als u de totale verwerkingstijd voor een groter bestand met functies wilt controleren.

Augurk naar JSON Parser Core

importeer java.io.FileInputStream;

importeer java.io.FileNotFoundException;

importeer java.io.FileWriter;

importeer java.io.IOException;

importeer java.io.InputStreamReader;

importeer java.io.UnsupportedEncodingException;

import gherkin.formatter.JSONFormatter;

import gherkin.formatter.JSONPrettyFormatter;

import gherkin.parser.Parser;

import gherkin.util.FixJava;

// Augurk naar Json parser core-bestand.

public class GtoJCore {

private String-indeling;

// Om de totale looptijd (optioneel) te krijgen

long startTime = System.currentTimeMillis ();

openbare GtoJCore (String outFormat) {

this.format = outFormat;

}

public String getOutFormat () {

retourformaat;

}

public void gherkinTojson (String fPath, String jPath) {

// Definieer Feature-bestand en JSON-bestandspad.

String augurk = nul;

proberen {

augurk = FixJava.readReader (nieuwe InputStreamReader (

nieuwe FileInputStream (fPath), "UTF-8"));

} catch (FileNotFoundException e) {

System.out.println ("Feature-bestand niet gevonden");

// e.printStackTrace ();

} catch (UnsupportedEncodingException e) {

e.printStackTrace ();

} catch (RuntimeException e) {

e.printStackTrace ();

}

StringBuilder json = nieuwe StringBuilder ();

JSONFormatter-formatter;

// mooie of lelijke selectie, behoorlijk standaard

if (format.equalsIgnoreCase ("ugly")) {

formatter = new JSONFormatter (json); // niet mooi

} else {

formatter = new JSONPrettyFormatter (json); // pretty

}

Parser-parser = nieuwe Parser (formatter);

parser.parse (augurk, fPath, 0);

formatter.done ();

formatter.close ();

System.out.println ("json output: n" + json + "'");

// Eindelijk doorspoelen en sluiten

proberen {

FileWriter-bestand = nieuwe FileWriter (jPath);

file.write (json.toString ());

file.flush ();

file.close ();

} catch (IOException e) {

e.printStackTrace ();

}

long endTime = System.currentTimeMillis ();

// optionele

System.out.println ("n Total Running Time:" + (endTime - startTime)

+ "Milliseconden");

}

}

Dit biedt u een mooie of lelijke JSON-indeling die u kunt selecteren in de hoofdklasse. U kunt het bestandspad definiëren, zowel voor het te lezen functiebestand als het JSON-bestand om te schrijven met de optie om een ​​mooi of lelijk uitvoerformaat te selecteren.

Vorige Artikel

VAVA Dash Cam - een oplossing van 360 graden om Street View vast te leggen

VAVA Dash Cam - een oplossing van 360 graden om Street View vast te leggen

Facebook tjilpen Pinterest WhatsApp Telegram De Vava Dash Cam is gewoon pure kracht in combinatie met visuele esthetiek en robuuste ontwerpen. Wat we tegenkwamen uit onze intense willekeurige tests, is dat het unieke ontwerp volledig onderscheidt van al zijn concurrenten. Boordevol Sony-sensor en 6-glazen lens, deze dashboard-camera is uw geld zeker waard...

Volgende Artikel

Beste iOS Video Editor-apps voor iPhone en iPad

Beste iOS Video Editor-apps voor iPhone en iPad

De camera van een iPhone is krachtig genoeg voor geweldige afbeeldingen en videobeelden. Met behulp van de beste videobewerkingsapp en krachtige iPhone-camera kunt u wonderen creëren. Zelfs iOS heeft geen krachtige videobewerkingsfuncties, de iPhone-videobewerkings-apps van derden zijn goed om de video's te bewerken, te mixen met muziek en extra video-effecten in te voegen....