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

Perisian Produktiviti Berdasarkan Empat Awan & Alasan Beralih

Perisian Produktiviti Berdasarkan Empat Awan & Alasan Beralih

Facebook Twitter Pinterest WhatsApp Telegram Organisasi pejabat dan perniagaan beralih kepada perisian produktiviti berasaskan awan. Suite pejabat berasaskan awan mudah untuk menguruskan dan menyediakan lokasi pusat berasaskan awan untuk beroperasi tanpa infrastruktur yang mahal. Syarikat IT utama mula menyediakan Perisian Pejabat berasaskan Awan untuk pengguna perniagaan...

Artikel Seterusnya

10 Apl Android Terbaik untuk Menonton Filem di Android Phone secara Percuma

10 Apl Android Terbaik untuk Menonton Filem di Android Phone secara Percuma

Terdapat banyak filem percuma dan saluran TV yang boleh anda menonton dalam talian melalui penyemak imbas web. Daripada penyemak imbas web yang bergantung kepada menonton filem, terdapat aplikasi percuma untuk menyiarkan filem ke Android anda dari gedung Google Play yang menawarkan ciri tambahan yang bagus...