طريقة جميلة لتحليل ملف ميزة Gherkin إلى JSON



Gherkin هو التنسيق الإنجليزي البسيط الذي يمكنه فهم الخيار لتشغيل اختبار الأتمتة. لغة ملف ميزة Gherkin هي لغة مخصصة للنطاق التجاري.

يهدف هذا الرمز إلى تحويل ملف ميزة Gherkin الخاص بك إلى تنسيق JSON استنادًا إلى إطار عمل تنسيق JSON.

غيركين إلى JSON Parser Main

// ملف ميزة Gherkin إلى JSON تم تحويل الفئة الرئيسية

الفئة العامة GToJRun {

// هنا قم بتعيين مسار Gherkin لجلب ملف الميزة ومسار ملف JSON إلى

// الكتابة في شكل JSON

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

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

/ / تعيين تنسيق جميل / قبيح لإخراج JSON. افتراضيا انها جميلة

ثابت GtoJCore testG = جديد GtoJCore ("جميل") ؛

ثابت الفراغ الثابت الرئيسي (سلسلة [] الحجج) {

testG.gherkinTojson (featurePath، jasonPath)؛

}

}

تعتمد الفئة الأساسية على إطار المنسق JSON. يمكنك الحصول على وقت التحويل إذا كنت تريد التحقق من إجمالي وقت المعالجة لملف ميزة أكبر.

غيركين إلى JSON Parser Core

استيراد java.io.FileInputStream ؛

استيراد java.io.FileNotFoundException؛

استيراد java.io.FileWriter ؛

استيراد java.io.IOException ؛

استيراد java.io.InputStreamReader ؛

استيراد java.io.UnupportedEncodingException؛

استيراد gherkin.formatter.JSONFormatter ؛

استيراد gherkin.formatter.JSONPrettyFormatter ؛

استيراد gherkin.parser.Parser ؛

استيراد gherkin.util.FixJava ؛

// غيركين لمحلل ملف Json الأساسي.

الطبقة العامة GtoJCore {

شكل سلسلة خاصة.

// للحصول على إجمالي وقت التشغيل (اختياري)

startTime طويلة = System.currentTimeMillis () ؛

GtoJCore العامة (String outFormat) {

this.format = outFormat؛

}

سلسلة getOutFormat العامة () {

شكل العودة ؛

}

gherkinTojson public void (String fPath، String jPath) {

// تعريف ملف الميزة ومسار ملف JSON.

سلسلة gherkin = فارغة.

محاولة {

gherkin = FixJava.readReader (InputStreamReader الجديد)

FileInputStream (fPath) الجديد ، "UTF-8")) ؛

} catch (FileNotFoundException e) {

System.out.println ("ملف الميزة غير موجود") ؛

// e.printStackTrace () ؛

} catch (UnsupportedEncodingException e) {

e.printStackTrace ()؛

} catch (RuntimeException e) {

e.printStackTrace ()؛

}

StringBuilder json = جديد StringBuilder ()؛

JSONFormatter المنسق.

// اختيار جميل أو قبيح ، جميلة افتراضيا

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

المنسق = JSONFormatter الجديد (json) ؛ // ليست جميلة

} آخر {

المنسق = جديد JSONPrettyFormatter (json) ؛ // جميل

}

المحلل اللغوي = المحلل اللغوي الجديد (المنسق) ؛

parser.parse (gherkin، fPath، 0)؛

formatter.done ()؛

formatter.close ()؛

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

// أخيرًا أغلق وأغلق

محاولة {

FileWriter file = new FileWriter (jPath) ؛

file.write (json.toString ())؛

file.flush ()؛

file.close ()؛

} catch (IOException e) {

e.printStackTrace ()؛

}

وقت طويل = System.currentTimeMillis () ؛

//اختياري

System.out.println ("n إجمالي وقت التشغيل:" + (endTime - startTime)

+ "ميلي ثانية") ؛

}

}

يوفر لك هذا تنسيق JSON جميلًا أو قبيحًا يمكنك اختياره من الفئة الرئيسية. يمكنك تحديد مسار الملف لكل من ملف الميزة لقراءة وملف JSON للكتابة مع خيار تحديد تنسيق الإخراج الجميل أو القبيح.

المقال السابق

كيفية تنزيل جميع الصور من iCloud إلى Mac أو Linux أو Windows

كيفية تنزيل جميع الصور من iCloud إلى Mac أو Linux أو Windows

لا يستخدم iCloud على نطاق واسع مثل Google Drive أو Dropbox ولكن إذا كنت من مستخدمي Apple ، فلن يكون هناك أي هروب. ليس لأن شركة Apple لا تمنحك الخيار ، ولكن لأن طريقة iCloud الجيدة تتكامل مع منتجات Apple مثل iMac ، و iPhone ، و iPad ، و Macbooks ، إلخ. طالما أنك في "النظام البيئي" ، فقد لا تضطر حتى إلى تنزيل الصور من iCloud. ذلك لأن صورك على iCloud تتم مزامنتها بين جمي...

المقالة القادمة

أفضل تطبيقات الروبوت حاسبة مجانية للطلاب والمهنيين.

أفضل تطبيقات الروبوت حاسبة مجانية للطلاب والمهنيين.

يتوفر نظام التشغيل Android للهاتف والكمبيوتر اللوحي مع آلة حاسبة بسيطة وعلمية للاستخدامات اليومية. ولكن إذا كنت محترفًا أو طالبًا ، فهناك الكثير من التطبيقات المخصصة المتوفرة من متجر Google Play والتي تستخدم قوة Android. يتم تخصيص معظم تطبيقات Android Calculator هذه بدرجة عالية لاستخدامها مع مجموعة من الميزات. قليل من هذه التطبيقات المخصصة تشمل حاسبة العامل ، آلة حاسبة الرهن ا...