
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.