پرش به محتوای اصلی

سرویس ثبت کننده گزارش Cucumber Viewport

wdio-cucumber-viewport-logger-service یک پکیج شخص ثالث است، برای اطلاعات بیشتر لطفا به GitHub | npm مراجعه کنید

سرویس ثبت کننده گزارش Cucumber Viewport برای WebdriverIO

این سرویس امکان ثبت مراحل Cucumber و سایر اطلاعات دیباگ را مستقیماً در پنجره مرورگر در راه‌حل مبتنی بر WebdriverIO شما اضافه می‌کند. این قابلیت به ویژه در مواردی که از دستگاه‌ها یا ماشین‌های مجازی بدون دسترسی فیزیکی مستقیم به آنها و امکان راه‌اندازی یک جلسه تعاملی برای دیباگ عمیق آزمون‌های e2e خود استفاده می‌کنید، بسیار مفید است.

demo

شروع سریع

نصب پکیج:

npm install wdio-cucumber-viewport-logger-service --save-dev

اضافه کردن سرویس به بخش services در تنظیمات خود، به عنوان مثال:

  services: [
//...
'cucumber-viewport-logger',
//...
]

گزینه‌های سرویس

گزینهتوضیحاتنوعمقدار پیش‌فرض
numberOfStepsتعداد مراحلی که در viewport نمایش داده می‌شوندnumber3
enabledفعال/غیرفعال کردن سرویسbooleantrue
stylesاستایل‌های CSS برای wrapper لاگر، کلمه کلیدی مرحله و متن مرحله، مثال زیر را ببینیدobject
// wdio.conf.js
exports.config = {
// ...
services: [
['cucumber-viewport-logger', {
numberOfSteps: 5,
enabled: process.env.VP_LOGGER === '1', // سرویس فقط زمانی فعال می‌شود که متغیر محیطی `VP_LOGGER` را به `1` تنظیم کنید
// تنظیم استایل‌های CSS سفارشی برای المان‌های خاص
styles: {
wrapper: { backgroundColor: 'white' },
keyword: { color: 'red' },
text: {
fontSize: '30px',
color: 'green',
},
closeButton: {
color: 'red',
},
},
},]
]
// ...
};

API

logToViewport(message, styles) - نمایش پیام سفارشی با استایل CSS سفارشی (اختیاری)، می‌توانید از این در تعاریف مراحل خود استفاده کنید به عنوان مثال:

When(/^I render message: "([^"]*)"$/, { timeout: 120000 }, function (message) {
browser.logToViewport(message, { text: { color: 'green' } });
});

removeViewportLogMessage() - حذف بخش پیام‌های viewport، می‌تواند برای مثال برای آزمون بصری مفید باشد

pointerEvents: 'none'

به طور پیش‌فرض، تمام رویدادهای ماوس (کلیک، هاور و غیره) از بخش پیام عبور می‌کنند، به عنوان مثال: به جای کلیک روی بخش پیام، کلیک شما به المان بعدی پیام (المان برنامه شما) "منتقل" می‌شود. اگر می‌خواهید این رفتار را تغییر دهید، گزینه استایل wrapper را به 'pointerEvents' با مقدار 'auto' تنظیم کنید، مثلاً:


/ wdio.conf.js
exports.config = {
// ...
services: [
['cucumber-viewport-logger', {

styles: {
wrapper: { pointerEvents: 'auto' },
},
},]
]
// ...
};

Welcome! How can I help?

WebdriverIO AI Copilot