مُسجل CucumberJS JSON
wdio-cucumberjs-json-reporter هو حزمة من طرف ثالث، لمزيد من المعلومات يرجى الاطلاع على GitHub | npm
مُسجل WDIO يقوم بإنشاء ملفات CucumberJS JSON لـ WebdriverIO v8 وما فوق.
ماذا يفعل
سيقوم هذا المُسجل بإنشاء ملف Cucumber JSON لكل ميزة يتم اختبارها. يمكن استخدام ملف JSON مع أي تقرير ترغب في استخدامه مثل multiple-cucumber-html-reporter.
سيقوم أيضًا بإضافة البيانات الوصفية حول مثيل التشغيل إلى ملف الميزة، وأخيرًا وليس آخرًا، سيمنحك فرصة إضافة مرفقات إلى مخرجات JSON.
التثبيت
الطريقة الأسهل هي الاحتفاظ بـ wdio-cucumberjs-json-reporter
كتبعية تطوير في ملف package.json
الخاص بك.
{
"devDependencies": {
"wdio-cucumberjs-json-reporter": "^5.0.0"
}
}
يمكنك القيام بذلك ببساطة عن طريق:
npm install wdio-cucumberjs-json-reporter --save-dev
وبذلك ستتم إضافته تلقائيًا إلى ملف package.json
الخاص بك
يمكن العثور على تعليمات حول كيفية تثبيت WebdriverIO
هنا.
التكوين
قم بتكوين دليل الإخراج واللغة في ملف wdio.conf.js الخاص بك:
export const config = {
// ...
reporters: [
// هكذا مع الخيارات الافتراضية، انظر الخيارات أدناه
'cucumberjs-json',
// أو هكذا إذا كنت تريد تعيين المجلد واللغة
[ 'cucumberjs-json', {
jsonFolder: '.tmp/new/',
language: 'en',
},
],
],
// ...
}
لا تستخدم كلا الطريقتين لإضافة المُسجل، هذا مجرد مثال!
الخيارات
jsonFolder
- النوع:
String
- إلزامي: لا
- الافتراضي:
.tmp/json/
الدليل الذي سيتم تخزين ملفات JSON التي ينشئها هذا التقرير فيه، بالنسبة إلى المكان الذي يتم فيه بدء البرنامج النصي.
ملاحظة: إذا كنت تستخدم نصًا من npm من سطر الأوامر، مثل npm run test
فسيكون jsonFolder
نسبيًا من المسار حيث يتم تنفيذ البرنامج النصي. سيؤدي تنفيذه من جذر مشروعك أيضًا إلى إنشاء jsonFolder
في جذر مشروعك.
language
- النوع:
String
- إلزامي: لا
- الافتراضي:
en
اللغة التي تُكتب بها سيناريوهات Gherkin (الافتراضية هي الإنجليزية). يمكن العثور على قائمة رموز اللغة وكلماتها الرئيسية هنا.
disableHooks
- النوع:
boolean
- إلزامي: لا
- الافتراضي:
false
لن تكون تفاصيل Hook جزءًا من الإنشاء إذا تم تعيين هذه الخاصية إلى true
.
reportFilePerRetry
- النوع:
boolean
- إلزامي: لا
- الافتراضي:
true
عندما تتم إعادة محاولة المواصفات، سيتم إضافة التقرير إلى ملف التقرير الحالي من المحاولات السابقة إذا تم تعيين هذه الخاصية إلى false
.
مثال:
['cucumberjs-json', { jsonFolder: '.tmp/new/', language: 'en', disableHooks:true}]
البيانات الوصفية
ملاحظة:
هذا غير مدعوم حاليًا إذا كنت تستخدم WebdriverIO V6، لا يزال WebdriverIO V5 يدعم هذا و WebdriverIO V7 يدعمه مرة أخرى
كما قيل، يمكن لهذا التقرير تخزين البيانات الوصفية للجهاز / الآلة الحالية التي تم تنفيذ الميزة عليها تلقائيًا.
لتخصيص ذلك يمكنك إضافته عن طريق إضافة الكائن التالي إلى capabilities
الخاص بك
// مثال wdio.conf.js
export const config = {
//..
capabilities: [
{
browserName: 'chrome',
// أضف هذا
'cjson:metadata': {
// للمتصفح
browser: {
name: 'chrome',
version: '58',
},
// للتطبيق
app: {
name: 'name.of.app.ipa',
version: '1.2.3',
},
device: 'MacBook Pro 15',
platform: {
name: 'OSX',
version: '10.12.6'
}
},
},
],
};
يجب أن يحتوي كائن البيانات الوصفية على بادئة
cjson
، وإلا فلن يعمل!