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

WebdriverIO

چارچوب آزمون خودکار مرورگر و موبایل نسل بعدی برای Node.js

حمایت شده توسط
🌎

تست در محیط‌های واقعی

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

🔩

همه‌کاره و پر از ویژگی

از WebdriverIO برای آزمایش کامل e2e یا تست واحد و کامپوننت در مرورگر استفاده کنید.

💤

انتظار خودکار

WebdriverIO به طور خودکار منتظر می‌ماند تا عناصر قبل از تعامل با آنها ظاهر شوند.

📒

بر اساس استانداردهای وب

پشتیبانی از مرورگرهای مختلف از طریق اتوماسیون با WebDriver و WebDriver Bidi.

📱

پشتیبانی بومی از موبایل

WebdriverIO را روی دستگاه‌های موبایل واقعی، تلویزیون‌های هوشمند یا سایر دستگاه‌های اینترنت اشیا از طریق Appium اجرا کنید.

🫂

جامعه متعهد

اداره یک کانال پشتیبانی با بیش از ۸ هزار عضو و یک اکوسیستم غنی از پلاگین‌های نگهداری شده توسط جامعه.


import { $, expect } from '@wdio/globals'
import { render } from '@testing-library/vue'
import HelloWorld from '../../src/components/HelloWorld.vue'

describe('Component Testing', () => {
it('increments value on click', async () => {
const { getByText } = render(HelloWorld)
const btn = getByText('count is 0')

// transform into WebdriverIO element
const button = await $(btn)

// interact with element like a real user
await button.click()
await button.click()

await expect(button).toMatchInlineSnapshot(
"count is 2"
)
})
})

تست E2E و واحد / کامپوننت در مرورگر واقعی!

WebdriverIO یک چارچوب همه در یک برای توسعه برنامه وب شما است. به شما امکان می‌دهد تست‌های کوچک و سبک کامپوننت و همچنین سناریوهای تست e2e را در مرورگر یا روی دستگاه موبایل اجرا کنید. این تضمین می‌کند که آزمایش را در محیطی انجام دهید که توسط کاربران شما استفاده می‌شود.

با استراتژی‌های انتخاب هوشمند ارائه می‌شود که تعامل با React components یا اجرای پرس‌وجوهای انتخاب عمیق با درخت‌های Shadow DOM تودرتو را ساده می‌کند. از آنجا که تعاملات از طریق یک پروتکل اتوماسیون استاندارد انجام می‌شود، تضمین می‌شود که آنها به صورت بومی رفتار می‌کنند و صرفاً با جاوااسکریپت شبیه‌سازی نمی‌شوند.

راه‌اندازی آسان برای تست کامپوننت وب با:

Vue.jsNuxtSveltePreactSolidJSLitStencil

در عرض چند ثانیه با WebdriverIO شروع کنید

تست‌رانر WebdriverIO با یک رابط خط فرمان ارائه می‌شود که یک ابزار پیکربندی قدرتمند فراهم می‌کند و به شما کمک می‌کند تنظیمات تست خود را در کمتر از یک دقیقه ایجاد کنید. به شما امکان می‌دهد از میان ادغام‌های چارچوب تست موجود انتخاب کنید و به راحتی امکان افزودن تمام پلاگین‌های گزارشگر و سرویس پشتیبانی شده را فراهم می‌کند!

با فقط یک دستور ساده می‌توانید یک مجموعه تست کامل راه‌اندازی کنید:


$ npm init wdio@latest ./

شروع به یادگیری بیشتر در مورد WebdriverIO و نحوه شروع کار در یوتیوب.

گفتگوها درباره WebdriverIO را تماشا کنید

جامعه پیرامون WebdriverIO به طور فعال در گروه‌های کاربری مختلف یا کنفرانس‌ها درباره موضوعات خاص مربوط به تست خودکار با WebdriverIO صحبت می‌کنند. این گفتگو را در ویژگی‌های محبوب من در WebdriverIO توسط Julia Pottinger در Open Quality Conference تماشا کنید.

همچنین کانال‌های یوتیوب زیادی با آموزش‌های مفید توسط اعضای جامعه مانند Klamping، Seventeenth Sep یا Automation Bro وجود دارد.

ادغام Google Lighthouse

WebdriverIO نه تنها اتوماسیون بر اساس پروتکل WebDriver را اجرا می‌کند، بلکه از API‌های بومی مرورگر نیز برای فعال‌سازی ادغام با ابزارهای توسعه‌دهنده محبوب مانند Chrome DevTools یا Google Lighthouse استفاده می‌کند. با پلاگین @wdio/lighthouse-service شما به دستوراتی برای تأیید اینکه برنامه شما یک برنامه PWA معتبر است و همچنین دستوراتی برای ثبت معیارهای عملکرد فرانت‌اند مانند `speedIndex` و دیگر موارد دسترسی دارید.

ادغام با ابزارهای توسعه مانند:

Chrome DevToolsGoogle LighthouseAxe Accessibility Engine

await browser.emulate('device', 'iPhone X')
await browser.enablePerformanceAudits({
networkThrottling: 'Good 3G',
cacheEnabled: true,
formFactor: 'mobile'
})

// open application under test
await browser.url('https://localhost:3000')

expect(await browser.getMetrics().firstMeaningfulPaint)
.toBeBelow(2500)

const pwaCheckResult = await browser.checkPWA()
expect(pwaCheckResult.passed).toBe(true)

چه کسانی از WebdriverIO استفاده می‌کنند؟

  • Google
  • Netflix
  • Microsoft
  • Mozilla
  • Buoyant
  • SAP
  • Salesforce
  • Hilton
  • Charles Schwab
  • JW Player
  • BBVA
  • GoPro
  • Algolia
  • Financial Times
  • Zendesk
  • 1&1
  • Avira
  • Deloitte
  • Rabobank
  • Bedrock Streaming

متن‌باز و با حاکمیت باز

ما یک پروژه متن‌باز با تعهد قوی به شفافیت و حاکمیت جامعه هستیم. ما بخشی از OpenJS Foundation هستیم که بخشی از Linux Foundation است. پروژه کاملاً توسط داوطلبان اداره می‌شود و توسط شرکت‌های سرمایه‌گذار که می‌خواهند موفقیت پروژه را ببینند، تأمین مالی می‌شود. تیم پروژه از حمایت سخاوتمندانه این شرکت‌ها سپاسگزار است.

💎 حامیان ویژه

🥇 حامیان طلایی

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

می‌خواهیم از صمیم قلب از تمام مشارکت‌کنندگانی که کمک کرده‌اند WebdriverIO به ابزار قدرتمندی که امروز هست تبدیل شود، تشکر کنیم. تعهد و تلاش شما واقعاً قدردانی می‌شود!

Welcome! How can I help?

WebdriverIO AI Copilot