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

گزینه‌های متد

گزینه‌های متد، گزینه‌هایی هستند که می‌توانند برای هر متد تنظیم شوند. اگر گزینه دارای کلید مشابه با گزینه‌ای باشد که در زمان نمونه‌سازی افزونه تعیین شده است، این گزینه متد، مقدار گزینه افزونه را بازنویسی خواهد کرد.

گزینه‌های ذخیره‌سازی

disableBlinkingCursor

  • نوع: boolean
  • اجباری: خیر
  • پیش‌فرض: false
  • پشتیبانی شده: وب، اپلیکیشن هیبریدی (Webview)

فعال/غیرفعال کردن همه نشانگرهای چشمک‌زن در input، textarea، [contenteditable] در برنامه. اگر به true تنظیم شود، نشانگر قبل از گرفتن اسکرین‌شات به transparent تنظیم می‌شود و پس از اتمام کار به حالت اول برمی‌گردد.

disableCSSAnimation

  • نوع: boolean
  • اجباری: خیر
  • پیش‌فرض: false
  • پشتیبانی شده: وب، اپلیکیشن هیبریدی (Webview)

فعال/غیرفعال کردن تمام انیمیشن‌های CSS در برنامه. اگر به true تنظیم شود، تمام انیمیشن‌ها قبل از گرفتن اسکرین‌شات غیرفعال می‌شوند و پس از اتمام کار به حالت اول برمی‌گردند.

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 را نگه دارد که باعث بزرگتر شدن برش عنصر می‌شود.

fullPageScrollTimeout

  • نوع: number
  • اجباری: خیر
  • پیش‌فرض: 1500
  • استفاده شده با: فقط برای saveFullPageScreen یا saveTabbablePage
  • پشتیبانی شده: وب

مدت زمان انتظار پس از اسکرول، بر حسب میلی‌ثانیه. این می‌تواند به شناسایی صفحاتی با بارگذاری تنبل (lazy loading) کمک کند.

hideAfterFirstScroll

این متد یک یا چند عنصر را با اضافه کردن ویژگی visibility: hidden به آنها با ارائه آرایه‌ای از عناصر مخفی می‌کند. این برای مواقعی مفید است که صفحه دارای عناصر چسبنده (sticky) است که هنگام اسکرول صفحه، با صفحه اسکرول می‌شوند اما هنگام گرفتن اسکرین‌شات از کل صفحه اثر آزاردهنده‌ای ایجاد می‌کنند.

waitForFontsLoaded

  • نوع: boolean
  • اجباری: خیر
  • پیش‌فرض: true
  • استفاده شده با: تمام متدها
  • پشتیبانی شده: وب، اپلیکیشن هیبریدی (Webview)

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

گزینه‌های مقایسه (بررسی)

گزینه‌های مقایسه، گزینه‌هایی هستند که بر نحوه اجرای مقایسه توسط ResembleJS تأثیر می‌گذارند.

نکته
  • تمام گزینه‌های گزینه‌های ذخیره‌سازی را می‌توان برای متدهای مقایسه استفاده کرد
  • تمام گزینه‌های مقایسه می‌توانند در هنگام نمونه‌سازی سرویس یا برای هر متد بررسی جداگانه استفاده شوند. اگر گزینه متد دارای کلید مشابه با گزینه‌ای باشد که در هنگام نمونه‌سازی سرویس تنظیم شده است، گزینه مقایسه متد، مقدار گزینه مقایسه سرویس را بازنویسی خواهد کرد.
  • تمام گزینه‌ها می‌توانند برای موارد زیر استفاده شوند:
    • وب
    • اپلیکیشن هیبریدی
    • اپلیکیشن بومی

ignoreAlpha

  • نوع: boolean
  • پیش‌فرض: false
  • اجباری: خیر

مقایسه تصاویر و نادیده گرفتن آلفا.

blockOutSideBar

  • نوع: boolean
  • پیش‌فرض: true
  • اجباری: خیر
  • نکته: فقط برای checkScreen() قابل استفاده است. این فقط برای iPad است

به طور خودکار نوار کناری را برای iPad در حالت افقی در طول مقایسه‌ها مسدود می‌کند. این از شکست در مؤلفه بومی تب/خصوصی/نشانک جلوگیری می‌کند.

blockOutStatusBar

  • نوع: boolean
  • پیش‌فرض: true
  • اجباری: خیر
  • نکته: این فقط برای موبایل است

به طور خودکار نوار وضعیت و نوار آدرس را در طول مقایسه‌ها مسدود می‌کند. این از شکست در زمان، وای‌فای یا وضعیت باتری جلوگیری می‌کند.

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'),
}

// You can use this for all methods
await expect(
await browser.checkFullPageScreen("checkFullPage", methodOptions)
).toEqual(0)

actualFolder

  • نوع: string
  • اجباری: خیر

پوشه‌ای برای اسکرین‌شاتی که در آزمون گرفته شده است.

baselineFolder

  • نوع: string
  • اجباری: خیر

پوشه‌ای برای تصویر خط مبنا که برای مقایسه استفاده می‌شود.

diffFolder

  • نوع: string
  • اجباری: خیر

پوشه‌ای برای تفاوت تصویر رندر شده توسط ResembleJS.

Welcome! How can I help?

WebdriverIO AI Copilot