خيارات الطريقة
خيارات الطرق هي الخيارات التي يمكن تعيينها لكل طريقة. إذا كان الخيار له نفس المفتاح مثل خيار تم تعيينه أثناء تثبيت المكون الإضافي، فإن خيار الطريقة هذا سيتجاوز قيمة خيار المكون الإضافي.
- يمكن استخدام جميع الخيارات من خيارات الحفظ لطرق المقارنة
- يمكن استخدام جميع خيارات المقارنة أثناء تثبيت الخدمة أو لكل طريقة فحص فردية. إذا كان لخيار الطريقة نفس المفتاح مثل خيار تم تعيينه أثناء تثبيت الخدمة، فإن خيار مقارنة الطريقة سيتجاوز قيمة خيار مقارنة الخدمة.
- يمكن استخدام جميع الخيارات للسياقات التطبيقية أدناه ما لم يُذكر خلاف ذلك:
- الويب
- تطبيق هجين
- تطبيق أصلي
- العينات أدناه هي مع طرق
save*
، ولكن يمكن استخدامها أيضًا مع طرقcheck*
خيارات الحفظ
disableBlinkingCursor
- النوع:
boolean
- إلزامي: لا
- الافتراضي:
false
- يستخدم مع: جميع الطرق
- سياقات التطبيق المدعومة: الويب، تطبيق هجين (عرض الويب)
تمكين/تعطيل "وميض" المؤشر في عناصر input
و textarea
و [contenteditable]
في التطبيق. إذا تم تعيينه إلى true
، سيتم تعيين المؤشر إلى transparent
قبل أخذ لقطة شاشة
وإعادة تعيينه عند الانتهاء.
await browser.saveScreen(
'sample-tag',
{
disableBlinkingCursor: true
}
)
disableCSSAnimation
- النوع:
boolean
- إلزامي: لا
- الافتراضي:
false
- يستخدم مع: جميع الطرق
- سياقات التطبيق المدعومة: الويب، تطبيق هجين (عرض الويب)
تمكين/تعطيل جميع رسوم CSS المتحركة في التطبيق. إذا تم تعيينه إلى true
، سيتم تعطيل جميع الرسوم المتحركة قبل أخذ لقطة شاشة
وإعادة تعيينها عند الانتهاء
await browser.saveScreen(
'sample-tag',
{
disableCSSAnimation: true
}
)
enableLegacyScreenshotMethod
- النوع:
boolean
- إلزامي: لا
- الافتراضي:
false
- يستخدم مع: جميع الطرق
- سياقات التطبيق المدعومة: الويب، تطبيق هجين (عرض الويب)
استخدم هذا الخيار للرجوع إلى طريقة لقطة الشاشة "القديمة" المستندة إلى بروتوكول W3C-WebDriver. يمكن أن يكون هذا مفيدًا إذا كانت اختباراتك تعتمد على صور أساسية موجودة أو إذا كنت تعمل في بيئات لا تدعم بشكل كامل لقطات الشاشة المستندة إلى BiDi الأحدث. لاحظ أن تمكين هذا قد ينتج عنه لقطات شاشة بدقة أو جودة مختلفة قليلاً.
await browser.saveScreen(
'sample-tag',
{
enableLegacyScreenshotMethod: true
}
)
enableLayoutTesting
- النوع:
boolean
- إلزامي: لا
- الافتراضي:
false
- يستخدم مع: جميع الطرق
- سياقات التطبيق المدعومة: الويب، تطبيق هجين (عرض الويب)
هذا سيخفي جميع النصوص على الصفحة بحيث يتم استخدام التخطيط فقط للمقارنة. سيتم إخفاء النص عن طريق إضافة النمط 'color': 'transparent !important'
إلى كل عنصر.
للإخراج، انظر إخراج الاختبار.
باستخدام هذا الخيار، سيحصل كل عنصر يحتوي على نص (ليس فقط p, h1, h2, h3, h4, h5, h6, span, a, li
، ولكن أيضًا div|button|..
) على هذه الخاصية. لا توجد أي خيارات لتخصيص ذلك.
await browser.saveScreen(
'sample-tag',
{
enableLayoutTesting: true
}
)
hideScrollBars
- النوع:
boolean
- إلزامي: لا
- الافتراضي:
true
- يستخدم مع: جميع الطرق
- سياقات التطبيق المدعومة: الويب، تطبيق هجين (عرض الويب)
إخفاء أشرطة التمرير في التطبيق. إذا تم تعيينه إلى true، سيتم تعطيل جميع أشرطة التمرير قبل أخذ لقطة شاشة. يتم تعيين هذا افتراضيًا إلى true
لمنع حدوث مشكلات إضافية.
await browser.saveScreen(
'sample-tag',
{
hideScrollBars: false
}
)
hideElements
- النوع:
array
- إلزامي: لا
- يستخدم مع: جميع الطرق
- سياقات التطبيق المدعومة: الويب، تطبيق هجين (عرض الويب)
يمكن لهذه الطريقة إخفاء عنصر واحد أو عدة عناصر عن طريق إضافة خاصية visibility: hidden
إليها من خلال توفير مصفوفة من العناصر.
await browser.saveScreen(
'sample-tag',
{
hideElements: [
await $('#element-1'),
await $('#element-2'),
]
}
)
removeElements
- النوع:
array
- إلزامي: لا
- يستخدم مع: جميع الطرق
- سياقات التطبيق المدعومة: الويب، تطبيق هجين (عرض الويب)
يمكن لهذه الطريقة إزالة عنصر واحد أو عدة عناصر عن طريق إضافة خاصية display: none
إليها من خلال توفير مصفوفة من العناصر.
await browser.saveScreen(
'sample-tag',
{
removeElements: [
await $('#element-1'),
await $('#element-2'),
]
}
)
resizeDimensions
- النوع:
object
- إلزامي: لا
- الافتراضي:
{ top: 0, right: 0, bottom: 0, left: 0}
- يستخدم مع: فقط لـ
saveElement
أوcheckElement
- سياقات التطبيق المدعومة: الويب، تطبيق هجين (عرض الويب)، تطبيق أصلي
كائن يحتاج إلى الاحتفاظ بمقدار البكسل top
, right
, bottom
و left
التي تحتاج إلى جعل قص العنصر أكبر.
await browser.saveElement(
'sample-tag',
{
resizeDimensions: {
top: 50,
left: 100,
right: 10,
bottom: 90,
},
}
)
userBasedFullPageScreenshot
- النوع:
boolean
- إلزامي: لا
- الافتراضي:
false
- يستخدم مع: فقط لـ
saveFullPageScreen
,saveTabbablePage
,checkFullPageScreen
أوcheckTabbablePage
- سياقات التطبيق المدعومة: الويب، تطبيق هجين (عرض الويب)
عند تعيينه إلى true
، يمكّن هذا الخيار استراتيجية التمرير والتجميع لالتقاط لقطات شاشة للصفحة الكاملة.
بدلاً من استخدام إمكانيات لقطة الشاشة الأصلية للمتصفح، فإنه يتمرر عبر الصفحة يدويًا ويجمع لقطات شاشة متعددة معًا.
هذه الطريقة مفيدة بشكل خاص للصفحات ذات المحتوى الذي يتم تحميله بكسل أو التخطيطات المعقدة التي تتطلب التمرير للعرض الكامل.
await browser.saveScreen(
'sample-tag',
{
userBasedFullPageScreenshot: true
}
)
fullPageScrollTimeout
- النوع:
number
- إلزامي: لا
- الافتراضي:
1500
- يستخدم مع: فقط لـ
saveFullPageScreen
أوsaveTabbablePage
- سياقات التطبيق المدعومة: الويب، تطبيق هجين (عرض الويب)
مهلة بالميلي ثانية للانتظار بعد التمرير. قد يساعد ذلك في تحديد الصفحات ذات التحميل البطيء.
ملاحظة: يعمل هذا فقط عند تعيين
userBasedFullPageScreenshot
إلىtrue
await browser.saveFullPageScreen(
'sample-tag',
{
fullPageScrollTimeout: 3 * 1000
}
)
hideAfterFirstScroll
- النوع:
array
- إلزامي: لا
- يستخدم مع: فقط لـ
saveFullPageScreen
أوsaveTabbablePage
- سياقات التطبيق المدعومة: الويب، تطبيق هجين (عرض الويب)
ستخفي هذه الطريقة عنصرًا واحدًا أو عدة عناصر عن طريق إضافة خاصية visibility: hidden
إليها من خلال توفير مصفوفة من العناصر.
سيكون هذا مفيدًا عندما تحتوي الصفحة على سبيل المثال على عناصر ثابتة ستتمرر مع الصفحة إذا تم تمرير الصفحة ولكنها ستعطي تأثيرًا مزعجًا عند عمل لقطة شاشة للصفحة الكاملة.
ملاحظة: يعمل هذا فقط عند تعيين
userBasedFullPageScreenshot
إلىtrue
await browser.saveFullPageScreen(
'sample-tag',
{
hideAfterFirstScroll: [
await $('#element-1'),
await $('#element-2'),
]
}
)
waitForFontsLoaded
- النوع:
boolean
- إلزامي: لا
- الافتراضي:
true
- يستخدم مع: جميع الطرق
- سياقات التطبيق المدعومة: الويب، تطبيق هجين (عرض الويب)
يمكن تحميل الخطوط، بما في ذلك خطوط الطرف الثالث، بشكل متزامن أو غير متزامن. يعني التحميل غير المتزامن أن الخطوط قد تتحمل بعد أن يحدد WebdriverIO أن الصفحة قد تم تحميلها بالكامل. لمنع مشاكل عرض الخطوط، سينتظر هذا الوحدة، افتراضيًا، حتى يتم تحميل جميع الخطوط قبل التقاط لقطة شاشة.
await browser.saveScreen(
'sample-tag',
{
waitForFontsLoaded: true
}
)