Gherkin, otomasyon testini çalıştırmak için Salatalığı anlayabilen basit İngilizce formatıdır. Kornişon özellikli dosya dili işletme tarafından okunabilir alana özgü bir dildir.
Bu kod, JSON Formatter çerçevesini temel alarak Gherkin özellik dosyanızı JSON formatına dönüştürmektir.
JSON Ayrıştırıcı Ana Gherkin
// Gherkin özellik dosyasını JSON'a dönüştürülen ana sınıfa
kamu sınıfı GToJRun {
// Burada Gherkin yolunu özellik dosyası ve JSON dosya yolunu almak üzere ayarlayın.
// JSON biçiminde yaz
private static String featurePath = “c: \ Json \ login.feature”;
private static String jasonPath = “c: \ Json \ login.json”;
// JSON çıkışı için hoş / çirkin format olarak ayarlayın. Varsayılan olarak güzel
statik GtoJCore testiG = yeni GtoJCore (“güzel”);
genel statik boşluk ana (String [] args) {
testG.gherkinTojson (featurePath, jasonPath);
}
}
Çekirdek sınıf JSON formatlayıcı çerçevesine dayanır. Daha büyük bir özellik dosyasının toplam işlem süresini kontrol etmek istiyorsanız dönüştürme süresini alabilirsiniz.
JSON Ayrıştırıcı Çekirdeği Kornişon
java.io.FileInputStream öğesini içe aktarın;
java.io.FileNotFoundException öğesini içe aktarın;
java.io.FileWriter dosyasını içe aktarın;
java.io.IOException öğesini içe aktarın;
java.io.InputStreamReader'ı içe aktarın;
java.io.UnsupportedEncodingException öğesini içe aktarın;
gherkin.formatter.JSONFormatter öğesini içe aktarın;
gherkin.formatter.JSONPrettyFormatter öğesini içe aktarın;
gherkin.parser.Parser dosyasını içe aktarın;
ithalat gherkin.util.FixJava;
// Json ayrıştırıcı çekirdek dosyasını Gherkin.
kamu sınıfı GtoJCore {
özel String formatı;
// Toplam çalışma zamanını almak için (isteğe bağlı)
long startTime = System.currentTimeMillis ();
Genel GtoJCore (Dize outFormat) {
this.format = outFormat;
}
Genel Dize getOutFormat () {
dönüş formatı;
}
public void gherkinTojson (String fPath, String jPath) {
// Özellik dosyası ve JSON Dosyası yolunu tanımlayın.
String gherkin = null;
Deneyin {
gherkin = FixJava.readReader (yeni InputStreamReader (
yeni FileInputStream (fPath), “UTF-8”));
} catch (FileNotFoundException e) {
System.out.println (“Özellik dosyası bulunamadı”);
// e.printStackTrace ();
} catch (DesteklenmeyenEncodingException e) {
e.printStackTrace ();
} catch (RuntimeException e) {
e.printStackTrace ();
}
StringBuilder json = new StringBuilder ();
JSONFormatter biçimlendirici;
// güzel veya çirkin seçim, varsayılan olarak güzel
if (format.equalsIgnoreCase (“çirkin”)) {
formatter = new JSONFormatter (json); // pek hoş değil
} Başka {
formatter = yeni JSONPrettyFormatter (json); // güzel
}
Ayrıştırıcı ayrıştırıcı = yeni Ayrıştırıcı (biçimlendirici);
parser.parse (kornişon, fPath, 0);
formatter.done ();
formatter.close ();
System.out.println (“json çıkışı: n” + json + “'”);
// Nihayet floş ve kapanış
Deneyin {
FileWriter dosyası = yeni FileWriter (jPath);
file.write (json.toString ());
file.flush ();
dosya.close ();
} yakalamak (IOException e) {
e.printStackTrace ();
}
long endTime = System.currentTimeMillis ();
//isteğe bağlı
System.out.println (“n Toplam Çalışma Süresi:” + (endTime - startTime)
+ ”Milisaniye”);
}
}
Bu size Ana Sınıftan seçebileceğiniz hoş veya çirkin bir JSON formatı sunar. Dosya yolunu hem özellik dosyasını okumak için hem de JSON dosyasını güzel ya da çirkin çıktı formatı seçme seçeneğiyle yazacak şekilde tanımlayabilirsiniz.