خيارات الطريقة
خيارات الطرق هي الخيارات التي يمكن تعيينها لكل طريقة. إذا كان للخيار نفس المفتاح كخيار تم تعيينه أثناء إنشاء البرنامج المساعد، فإن خيار الطريقة هذا سيتجاوز قيمة خيار البرنامج المساعد.
خيارات الحفظ
disableBlinkingCursor
- النوع:
boolean
- إلزامي: لا
- القيمة الافتراضية:
false
- مدعوم في: الويب، تطبيق هجين (Webview)
تمكين/تعطيل وميض المؤشر في جميع عناصر input
وtextarea
و[contenteditable]
في التطبيق. إذا تم ضبطه على true
، سيتم تعيين المؤشر على transparent
قبل التقاط لقطة شاشة وإعادة تعيينه عند الانتهاء
disableCSSAnimation
- النوع:
boolean
- إلزامي: لا
- القيمة الافتراضية:
false
- مدعوم في: الويب، تطبيق هجين (Webview)
تمكين/تعطيل جميع رسوم CSS المتحركة في التطبيق. إذا تم ضبطه على true
، سيتم تعطيل جميع الرسوم المتحركة قبل التقاط لقطة شاشة وإعادة تعيينها عند الانتهاء
enableLegacyScreenshotMethod
- النوع:
boolean
- إلزامي: لا
- القيمة الافتراضية:
false
- مدعوم في: الويب، تطبيق هجين (Webview)
استخدم هذا الخيار للعودة إلى طريقة التقاط لقطات الشاشة "القديمة" المستندة إلى بروتوكول W3C-WebDriver. يمكن أن يكون ذلك مفيدًا إذا كانت اختباراتك تعتمد على صور أساسية موجودة أو إذا كنت تعمل في بيئات لا تدعم بشكل كامل لقطات الشاشة المستندة إلى BiDi الأحدث. لاحظ أن تمكين هذا قد ينتج لقطات شاشة بدقة أو جودة مختلفة قليلاً.
enableLayoutTesting
- النوع:
boolean
- إلزامي: لا
- القيمة الافتراضية:
false
- يستخدم مع: جميع الطرق
- مدعوم في: الويب
سيخفي هذا كل النص على الصفحة بحيث يتم استخدام التخطيط فقط للمقارنة. سيتم الإخفاء عن طريق إضافة النمط 'color': 'transparent !important'
إلى كل عنصر.
للإخراج انظر نتائج الاختبار
باستخدام هذه العلامة، سيحصل كل عنصر يحتوي على نص (ليس فقط p, h1, h2, h3, h4, h5, h6, span, a, li
، ولكن أيضًا div|button|..
) على هذه الخاصية. لا توجد أي خيارات لتخصيص هذا.
hideScrollBars
- النوع:
boolean
- إلزامي: لا
- القيمة الافتراضية:
true
- يستخدم مع: جميع الطرق
- مدعوم في: الويب، تطبيق هجين (Webview)
إخفاء أشرطة التمرير في التطبيق. إذا تم ضبطه على true، سيتم تعطيل جميع أشرطة التمرير قبل التقاط لقطة شاشة. يتم تعيين هذا افتراضيًا على true
لمنع المشكلات الإضافية.
hideElements
- النوع:
array
- إلزامي: لا
- يستخدم مع: جميع الطرق
- مدعوم في: الويب، تطبيق هجين (Webview)، تطبيق أصلي
يمكن لهذه الطريقة إخفاء عنصر واحد أو عدة عناصر عن طريق إضافة خاصية visibility: hidden
إليها من خلال توفير مصفوفة من العناصر.
removeElements
- النوع:
array
- إلزامي: لا
- يستخدم مع: جميع الطرق
- مدعوم في: الويب، تطبيق هجين (Webview)، تطبيق أصلي
يمكن لهذه الطريقة إزالة عنصر واحد أو عدة عناصر عن طريق إضافة خاصية display: none
إليها من خلال توفير مصفوفة من العناصر.
resizeDimensions
- النوع:
object
- إلزامي: لا
- القيمة الافتراضية:
{ top: 0, right: 0, bottom: 0, left: 0}
- يستخدم مع: فقط لـ
saveElement
أوcheckElement
- مدعوم في: الويب، تطبيق هجين (Webview)، تطبيق أصلي
كائن يجب أن يحتوي على مقدار البكسل top
وright
وbottom
وleft
التي تحتاج إلى جعل اقتصاص العنصر أكبر.
userBasedFullPageScreenshot
- النوع:
boolean
- إلزامي: لا
- القيمة الافتراضية:
false
- مدعوم في: الويب، تطبيق هجين (Webview)
عند ضبطه على true
، يمكّن هذا الخيار استراتيجية التمرير والتجميع لالتقاط لقطات شاشة للصفحة الكاملة.
بدلاً من استخدام إمكانيات لقطة الشاشة الأصلية للمتصفح، فإنه يمر عبر الصفحة يدويًا ويجمع لقطات شاشة متعددة معًا.
هذه الطريقة مفيدة بشكل خاص للصفحات ذات المحتوى المحمّل بكسل أو التخطيطات المعقدة التي تتطلب التمرير لعرضها بالكامل.
fullPageScrollTimeout
- النوع:
number
- إلزامي: لا
- القيمة الافتراضية:
1500
- يستخدم مع: فقط لـ
saveFullPageScreen
أوsaveTabbablePage
- مدعوم في: الويب
المهلة بالميلي ثانية للانتظار بعد التمرير. قد يساعد هذا في تحديد الصفحات ذات التحميل الكسول.
ملاحظة: هذا يعمل فقط عندما يتم ضبط
userBasedFullPageScreenshot
علىtrue
hideAfterFirstScroll
- النوع:
array
- إلزامي: لا
- يستخدم مع: فقط لـ
saveFullPageScreen
أوsaveTabbablePage
- مدعوم في: الويب
ستخفي هذه الطريقة عنصرًا واحدًا أو أكثر عن طريق إضافة خاصية visibility: hidden
إليها من خلال توفير مصفوفة من العناصر.
سيكون هذا مفيدًا عندما تحتوي الصفحة على سبيل المثال على عناصر لاصقة ستتمرر مع الصفحة إذا تم تمرير الصفحة ولكنها ستعطي تأثيرًا مزعجًا عند التقاط لقطة شاشة للصفحة الكاملة
ملاحظة: هذا يعمل فقط عندما يتم ضبط
userBasedFullPageScreenshot
علىtrue
waitForFontsLoaded
- النوع:
boolean
- إلزامي: لا
- القيمة الافتراضية:
true
- يستخدم مع: جميع الطرق
- مدعوم في: الويب، تطبيق هجين (Webview)
يمكن تحميل الخطوط، بما في ذلك خطوط الطرف الثالث، بشكل متزامن أو غير متزامن. يعني التحميل غير المتزامن أن الخطوط قد تُحمل بعد أن يحدد WebdriverIO أن الصفحة قد تم تحميلها بالكامل. لمنع مشكلات عرض الخطوط، ستنتظر هذه الوحدة، بشكل افتراضي، تحميل جميع الخطوط قبل التقاط لقطة شاشة.
خيارات المقارنة (الفحص)
خيارات المقارنة هي خيارات تؤثر على طريقة تنفيذ المقارنة بواسطة ResembleJS.
- يمكن استخدام جميع الخيارات من خيارات الحفظ لطرق المقارنة
- يمكن استخدام جميع خيارات المقارنة أثناء تهيئة الخدمة أو لكل طريقة فحص فردية. إذا كان لخيار الطريقة نفس المفتاح كخيار تم تعيينه أثناء تهيئة الخدمة، فإن خيار مقارنة الطريقة سيتجاوز قيمة خيار مقارنة الخدمة.
- يمكن استخدام جميع الخيارات لـ:
- الويب
- تطبيق هجين
- تطبيق أصلي
ignoreAlpha
- النوع:
boolean
- القيمة الافتراضية:
false
- إلزامي: لا
مقارنة الصور وتجاهل قناة ألفا.
blockOutSideBar
- النوع:
boolean
- القيمة الافتراضية:
true
- إلزامي: لا
- ملاحظة: يمكن استخدامه فقط لـ
checkScreen()
. هذا خاص بالآيباد فقط
حجب الشريط الجانبي تلقائيًا للآيباد في وضع أفقي أثناء المقارنات. هذا يمنع الفشل في مكونات التبويب/الخاص/الإشارات المرجعية الأصلية.
blockOutStatusBar
- النوع:
boolean
- القيمة الافتراضية:
true
- إلزامي: لا
- ملاحظة: هذا للجوال فقط
حجب شريط الحالة وشريط العنوان تلقائيًا أثناء المقارنات. هذا يمنع الفشل في الوقت أو WiFi أو حالة البطارية.
blockOutToolBar
- النوع:
boolean
- القيمة الافتراضية:
true
- إلزامي: لا
- ملاحظة: هذا للجوال فقط
حجب شريط الأدوات تلقائيًا.
ignoreAntialiasing
- النوع:
boolean
- القيمة الافتراضية:
false
- إلزامي: لا
مقارنة الصور وتجاهل تنعيم الحواف.
ignoreColors
- النوع:
boolean
- القيمة الافتراضية:
false
- إلزامي: لا
على الرغم من أن الصور ملونة، ستقارن المقارنة صورتين بالأبيض والأسود
ignoreLess
- النوع:
boolean
- القيمة الافتراضية:
false
- إلزامي: لا
مقارنة الصور والمقارنة مع red = 16, green = 16, blue = 16, alpha = 16, minBrightness=16, maxBrightness=240
ignoreNothing
- النوع:
boolean
- القيمة الافتراضية:
false
- إلزامي: لا
مقارنة الصور والمقارنة مع red = 0, green = 0, blue = 0, alpha = 0, minBrightness=0, maxBrightness=255
rawMisMatchPercentage
- النوع:
boolean
- القيمة الافتراضية:
false
- إلزامي: لا
إذا كانت القيمة true، فإن النسبة المئوية المرتجعة ستكون مثل 0.12345678
، الافتراضي هو 0.12
returnAllCompareData
- النوع:
boolean
- القيمة الافتراضية:
false
- إلزامي: لا
سيؤدي هذا إلى إرجاع جميع بيانات المقارنة، وليس فقط النسبة المئوية لعدم التطابق
saveAboveTolerance
- النوع:
number
- القيمة الافتراضية:
0
- إلزامي: لا
القيمة المسموح بها لـ misMatchPercentage
التي تمنع حفظ الصور ذات الاختلافات
largeImageThreshold
- النوع:
number
- القيمة الافتراضية:
0
- إلزامي: لا
يمكن أن تؤدي مقارنة الصور الكبيرة إلى مشكلات في الأداء.
عند توفير رقم لعدد البكسلات هنا (أعلى من 0)، ستتخطى خوارزمية المقارنة البكسلات عندما يكون عرض الصورة أو ارتفاعها أكبر من largeImageThreshold
بكسل.
scaleImagesToSameSize
- النوع:
boolean
- القيمة الافتراضية:
false
- إلزامي: لا
يقوم بتحجيم صورتين إلى نفس الحجم قبل تنفيذ المقارنة. يوصى بشدة بتمكين ignoreAntialiasing
وignoreAlpha
خيارات المجلد
مجلد الأساس ومجلدات لقطات الشاشة (الفعلية، الفرق) هي خيارات يمكن تعيينها أثناء تهيئة البرنامج المساعد أو الطريقة. لتعيين خيارات المجلد في طريقة معينة، قم بتمرير خيارات المجلد إلى كائن خيارات الطرق. يمكن استخدام هذا لـ:
- الويب
- تطبيق هجين
- تطبيق أصلي
import path from 'node:path'
const methodOptions = {
actualFolder: path.join(process.cwd(), 'customActual'),
baselineFolder: path.join(process.cwd(), 'customBaseline'),
diffFolder: path.join(process.cwd(), 'customDiff'),
}
// يمكنك استخدام هذا لجميع الطرق
await expect(
await browser.checkFullPageScreen("checkFullPage", methodOptions)
).toEqual(0)
actualFolder
- النوع:
string
- إلزامي: لا
مجلد للقطة التي تم التقاطها في الاختبار.
baselineFolder
- النوع:
string
- إلزامي: لا
مجلد للصورة الأساسية التي يتم استخدامها للمقارنة.
diffFolder
- النوع:
string
- إلزامي: لا
مجلد لاختلاف الصورة الذي تم إنشاؤه بواسطة ResembleJS.