Pendekatan Pretty untuk Parse Gherkin Feature File to JSON



Gherkin adalah format bahasa Inggeris biasa yang dapat memahami Cucumber untuk menjalankan ujian automasi. Bahasa fail ciri Gherkin adalah bahasa khusus domain boleh dibaca perniagaan.

Kod ini untuk menukar fail ciri Gherkin anda kepada format JSON berdasarkan rangka format JSON.

Gherkin ke JSON Parser Utama

// Fail ciri Gherkin untuk JSON ditukar kelas utama

kelas awam GToJRun {

// Sini tetapkan laluan Gherkin untuk mengambil fail ciri dan laluan fail JSON ke

// tulis ke format JSON

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

Strata statik peribadi jasonPath = "c: \ Json \ login.json";

/ / Set sebagai format cantik / hod untuk output JSON. Secara lalai ia cantik

statik GtoJCore testG = new GtoJCore ("cantik");

public static void main (String [] args) {

testG.gherkinTojson (featurePath, jasonPath);

}

}

Kelas teras berdasarkan rangka formatter JSON. Anda boleh mendapatkan masa penukaran jika anda ingin menyemak jumlah masa pemprosesan untuk fail ciri yang lebih besar.

Gherkin kepada Core Parser 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 ke fail teras parser Json.

kelas awam GtoJCore {

format String peribadi;

// Untuk mendapatkan jumlah masa yang berjalan (pilihan)

startTime lama = System.currentTimeMillis ();

awam GtoJCore (String outFormat) {

this.format = outFormat;

}

strata awam getOutFormat () {

format pulangan;

}

public void gherkinTojson (String fPath, String jPath) {

// Tentukan fail Ciri dan fail Fail JSON.

String gherkin = null;

cuba {

gherkin = FixJava.readReader (InputStreamReader baru (

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

} menangkap (FileNotFoundException e) {

System.out.println ("Fail ciri tidak dijumpai");

// e.printStackTrace ();

} tangkapan (UnsupportedEncodingException e) {

e.printStackTrace ();

} tangkapan (RuntimeException e) {

e.printStackTrace ();

}

StringBuilder json = StringBuilder baru ();

Formatter JSONFormatter;

// Pemilihan cantik atau hodoh, cukup secara lalai

jika (format.equalsIgnoreCase ("hodoh")) {

formatter = JSONFormatter baru (json); // tidak cantik

} else {

formatter = JSONPrettyFormatter baru (json); // cantik

}

Parser parser = Parser baru (formatter);

parser.parse (gherkin, fPath, 0);

formatter.done ();

formatter.close ();

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

// Akhirnya siram dan tutup

cuba {

FileWriter file = FileWriter baru (jPath);

file.write (json.toString ());

file.flush ();

file.close ();

} tangkapan (IOException e) {

e.printStackTrace ();

}

long endTime = System.currentTimeMillis ();

// pilihan

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

+ "Milisaat");

}

}

Ini memberikan anda format JSON cantik atau hodoh yang boleh anda pilih dari Kelas Utama. Anda boleh menentukan laluan fail kedua-duanya untuk fail ciri untuk membaca dan fail JSON untuk menulis dengan pilihan untuk memilih format output yang cantik atau hodoh.

Artikel Sebelumnya

Bagaimana untuk menetapkan semula semula / keras Nokia 5800?

Bagaimana untuk menetapkan semula semula / keras Nokia 5800?

Penyetelan Lembut akan mengosongkan ralat sementara dan membawa telefon bimbit anda ke keadaan awal dengan memulihkan tetapan Kilang. Untuk mengendalikan fungsi ini di telefon bimbit anda, pintasan adalah: * # 7380 #. Fungsi ini nampaknya berfungsi pada hampir semua telefon bimbit Nokia. Semua kenalan, mesej, panggilan, aplikasi, tema anda, semuanya akan hilang...

Artikel Seterusnya

Pemain Flash Sokongan 4 Top Browser di iPad dan iPhone

Pemain Flash Sokongan 4 Top Browser di iPad dan iPhone

Sekarang anda boleh menikmati pemain flash pada iPhone atau iPad yang boleh menjalankan video kilat dan permainan kilat pada iOS. Anda tidak mahu memasang mana-mana pemain flash pihak ketiga atau tidak perlu memuat turun aplikasi flash flash Adobe untuk menyokong pemain flash untuk iPad atau iPhone, terdapat penyemak imbas yang menyokong flash untuk iOS...