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

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

كيفية قفل WhatsApp على iPhone دون أي تطبيقات؟

كيفية قفل WhatsApp على iPhone دون أي تطبيقات؟

هل هناك حاجة لقفل WhatsApp أو تطبيقات المراسلة الأخرى على iPhone؟ نعم ، إذا كنت شخصًا يشاركك iPhone الخاص بك مع أطفالك ، أو تريد مزيدًا من الخصوصية على بياناتك ، فأنت بحاجة إلى قفل بريدك الإلكتروني أو الرسائل أو تطبيقات الشبكات الاجتماعية. حسنًا ، إنها حقيقة معروفة يستخدمها WhatsApp على نطاق واسع من قبل الناس للبقاء على اتصال مع أصدقائهم وأفراد أسرهم. ومع ذلك ، لا يوفر خيارًا لتعيين كلمة مرور أو قفل باستخدام To...

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

Wondershare Video Converter Ultimate: الكل في حل واحد لتحويل الفيديو

Wondershare Video Converter Ultimate: الكل في حل واحد لتحويل الفيديو

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