طريقة جميلة لتحليل ملف ميزة 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 للكتابة مع خيار تحديد تنسيق الإخراج الجميل أو القبيح.

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

أخيرًا ، يمكنك الآن حذف محفوظات عرض Netflix.

أخيرًا ، يمكنك الآن حذف محفوظات عرض Netflix.

يعد حذف سجل العرض من حساب Netflix ميزة يتم توقعها كثيرًا من ملايين مستخدمي Netflix. بالنسبة إلى حساب Netflix ، يعد مسح التفضيل والتاريخ الذي تمت مشاهدته مؤخرًا ميزة أساسية لمنع الأطفال من مشاهدة سجل مشاهدة Netflix لآبائهم. توفر لك ميزة Netflix الجديدة خيارًا جديدًا يتيح لك إنشاء ملفات تعريف متعددة داخل حساب واحد. وبهذه الطريقة ، يمكنك فصل كل ملف تعريف مع سجل العرض الخاص به ...

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

أفضل تطبيقات Android خفيفة الوزن جيدة للبيانات منخفضة السرعة وهواتف الذاكرة

أفضل تطبيقات Android خفيفة الوزن جيدة للبيانات منخفضة السرعة وهواتف الذاكرة

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