اسنپشات
تستهای اسنپشات میتوانند برای بررسی طیف گستردهای از جنبههای کامپوننت یا منطق شما به طور همزمان بسیار مفید باشند. در WebdriverIO میتوانید از هر شیء اختیاری و همچنین ساختار DOM یک WebElement یا نتایج دستورات WebdriverIO اسنپشات بگیرید.
مشابه چارچوبهای تست دیگر، WebdriverIO یک اسنپشات از مقدار داده شده میگیرد، سپس آن را با فایل اسنپشات مرجع که در کنار تست ذخیره شده مقایسه میکند. اگر دو اسنپشات مطابقت نداشته باشند، تست شکست میخورد: یا تغییر غیرمنتظره است، یا اسنپشات مرجع نیاز به بهروزرسانی به نسخه جدید نتیجه دارد.
این قابلیتهای اسنپشات هم برای اجرای تستهای end-to-end در محیط Node.js و هم برای اجرای تستهای واحد و کامپوننت در مرورگر یا دستگاههای موبایل در دسترس هستند.
استفاده از اسنپشاتها
برای گرفتن اسنپشات از یک مقدار، میتوانید از toMatchSnapshot()
از API expect()
استفاده کنید:
import { browser, expect } from '@wdio/globals'
it('can take a DOM snapshot', () => {
await browser.url('https://guinea-pig.webdriver.io/')
await expect($('.findme')).toMatchSnapshot()
})