رفتن به محتوای اصلی

WebdriverIO

مرورگر نسل بعدی و چارچوب تست اتوماسیون موبایل برای Node.js

Sponsored by  and  
🌎

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

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

🔩

همه کاره و غنی از امکانات

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

💤

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

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

📒

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

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

📱

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

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

🫂

جامعه متعهد

اجرا کننده support channel با بیش از 8k عضو و اکوسیستم غنی از افزونه های نگهداری شده توسط جامعه.


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 شروع کنید

The WebdriverIO testrunner comes with a command line interface that provides a powerful configuration utility and helps you to create your test setup in less than a minute. It lets you pick from available test framework integrations and easily allows to add all supported reporter and service plugins!

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


$ npm init wdio@latest ./

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

سخنانی را در رابطه با WebdriverIO تماشا کنید

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

همچنین بسیاری از کانال های YouTube با آموزش های مفید توسط اعضای انجمن مانند 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.emulateDevice('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

Open Source and Open Governed

We are an open source project with a strong commitment to transparency and community governance. We are part of the OpenJS Foundation, which is a part of the Linux Foundation. The project is entirely run by volunteers and funded by invested companies that want to see the project succeed. The project team is grateful for the generous sponsorship of these companies.

💎 Premium Sponsors

🥇 Gold Sponsors

If you use WebdriverIO within your organization, please consider supporting the project by becoming a sponsor. It will help us to keep the project running and evolving.

Welcome! How can I help?

WebdriverIO AI Copilot