تخطى إلى المحتوى الرئيسي

WebdriverIO

إطار عمل اختبار أتمتة للمتصفح والجوال من الجيل القادم لـ Node.js

برعايةBrowserStack
🌎

اختبار في بيئات حقيقية

يتيح لك WebdriverIO الاختبار في متصفحات أو أجهزة محمولة حقيقية يستخدمها المستخدمون.

🔩

متعدد الاستخدامات وغني بالمميزات

استخدم WebdriverIO للاختبارات الشاملة من البداية إلى النهاية أو اختبار الوحدات والمكونات في المتصفح.

💤

انتظار تلقائي

ينتظر WebdriverIO تلقائيًا ظهور العناصر قبل التفاعل معها.

📒

مبني على معايير الويب

دعم عبر المتصفحات من خلال الأتمتة عبر WebDriver و WebDriver Bidi.

📱

دعم المحمول الأصلي

قم بتشغيل WebdriverIO على أجهزة محمولة حقيقية أو أجهزة تلفزيون ذكية أو أجهزة إنترنت الأشياء الأخرى من خلال Appium.

🫂

مجتمع ملتزم

إدارة قناة الدعم يضم أكثر من 8 آلاف عضو ونظام بيئي غني من المكونات الإضافية التي يديرها المجتمع.


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"
)
})
})

اختبار من البداية إلى النهاية واختبار الوحدات / المكونات في متصفح حقيقي!

WebdriverIO هو إطار عمل شامل لتطوير تطبيقات الويب الخاصة بك. يتيح لك تشغيل اختبارات مكونات صغيرة وخفيفة الوزن بالإضافة إلى تشغيل سيناريوهات اختبار شاملة في المتصفح أو على جهاز محمول. هذا يضمن لك إجراء الاختبار في بيئة يستخدمها المستخدمون.

يأتي مع استراتيجيات اختيار ذكية تبسط التفاعل مثلاً مع React components أو تنفيذ استعلامات محدد عميقة مع أشجار DOM الظلية المتداخلة. نظرًا لأن التفاعلات تحدث من خلال بروتوكول أتمتة موحد، فمن المضمون أنها تتصرف بشكل طبيعي وليست مجرد محاكاة JavaScript.

إعداد سهل لاختبار مكونات الويب مع:

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، بل يستفيد أيضًا من واجهات برمجة التطبيقات الأصلية للمتصفح لتمكين التكامل مع أدوات المطور الشائعة مثل 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