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

WebdriverIO

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

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

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

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 برای خودکارسازی برنامه‌های MacOS

گفتگوها درباره 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 است. پروژه کاملاً توسط داوطلبان اداره می‌شود و توسط شرکت‌های سرمایه‌گذار که می‌خواهند موفقیت پروژه را ببینند، تأمین مالی می‌شود. تیم پروژه از حمایت سخاوتمندانه این شرکت‌ها سپاسگزار است.

💎 حامیان ویژه

BrowserStack

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

JetifyLambdatest

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

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

christian-bromann's avatar
mgrybyk's avatar
erwinheitzman's avatar
wswebcreation's avatar
WillBrock's avatar
greenkeeper[bot]'s avatar
klamping's avatar
SCG82's avatar
BorisOsipov's avatar
tamil777selvan's avatar
fijijavis's avatar
abjerstedt's avatar
praveendvd's avatar
andriilazebnyi's avatar
harsha509's avatar
ccharnkij's avatar
jan-molak's avatar
nextlevelbeard's avatar
lacell75's avatar
jlipps's avatar
sriteja777's avatar
baruchvlz's avatar
ablok's avatar
CrispusDH's avatar
alcpereira's avatar
Delta456's avatar
sauravdas1997's avatar
Ankit098's avatar
dprevost-LMI's avatar
udarrr's avatar
jochen-testingbot's avatar
pako88's avatar
Marketionist's avatar
unickq's avatar
aha-oretama's avatar
StephenABoyd's avatar
07souravkunda's avatar
RossVertizan's avatar
Rondleysg's avatar
pjcalvo's avatar
lukyth's avatar
osmolyar's avatar
mato533's avatar
suniljaiswal01's avatar
amarnathk1547's avatar
SrinivasanTarget's avatar
gavvvr's avatar
seanpoulter's avatar
martomo's avatar
hieuxlu's avatar
Badisi's avatar
epszaw's avatar
jayrepo's avatar
tech-dm-klymenko's avatar
jrobinson01's avatar
HananArgov's avatar
sebastian-sauer's avatar
naddison's avatar
amiya-pattnaik's avatar
alfonso-presa's avatar
vgrigoruk's avatar
Zearin's avatar
tzurp's avatar
esaari's avatar
amaanbs's avatar
L0tso's avatar
Fabianopb's avatar
jemishgopani's avatar
kamal-kaur04's avatar
nagpalkaran95's avatar
rendmath's avatar
PippoRaimondi's avatar
KuznetsovRoman's avatar
tadashi0713's avatar
AutomationReddy's avatar
martinfrancois's avatar
dragosMC91's avatar
joshskumar's avatar
jayandran-Sampath's avatar
iamkenos's avatar
valfirst's avatar
delabiejochen's avatar
sangcnguyen's avatar
samuelfreiberg's avatar
rwaskiewicz's avatar
nicholasbailey's avatar
navin772's avatar
M-Hammad-Faisal's avatar
Nyaran's avatar
abdatta's avatar
DudaGod's avatar
kyrylodolynskyi's avatar
larryg01's avatar
johnp's avatar
lararojasmr's avatar
lthurr's avatar
Kignuf's avatar

Welcome! How can I help?

WebdriverIO AI Copilot