الأُطر
يمتلك مشغل WebdriverIO دعمًا مدمجًا لـ Mocha، و Jasmine، و Cucumber.js. يمكنك أيضًا دمجه مع أطر عمل مفتوحة المصدر من طرف ثالث، مثل Serenity/JS.
لدمج WebdriverIO مع إطار اختبار، تحتاج إلى حزمة محول متوفرة على NPM. لاحظ أنه يجب تثبيت حزمة المحول في نفس الموقع الذي تم فيه تثبيت WebdriverIO. لذلك، إذا قمت بتثبيت WebdriverIO بشكل عام، تأكد من تثبيت حزمة المحول بشكل عام أيضًا.
يتيح لك دمج WebdriverIO مع إطار اختبار الوصول إلى مثيل WebDriver باستخدام متغير browser
العام
في ملفات المواصفات أو تعريفات الخطوات الخاصة بك.
لاحظ أن WebdriverIO سيتولى أيضًا مسؤولية تهيئة وإنهاء جلسة Selenium، لذلك لا تحتاج إلى القيام بذلك
بنفسك.
استخدام Mocha
أولاً، قم بتثبيت حزمة المحول من NPM:
- npm
- Yarn
- pnpm
npm install @wdio/mocha-framework --save-dev
yarn add @wdio/mocha-framework --dev
pnpm add @wdio/mocha-framework --save-dev
بشكل افتراضي، يوفر WebdriverIO مكتبة تأكيد مدمجة يمكنك استخدامها فورًا:
describe('my awesome website', () => {
it('should do some assertions', async () => {
await browser.url('https://webdriver.io')
await expect(browser).toHaveTitle('WebdriverIO · Next-gen browser and mobile automation test framework for Node.js | WebdriverIO')
})
})
يدعم WebdriverIO واجهات Mocha BDD
(الافتراضية)، و TDD
، و QUnit
interfaces.
إذا كنت ترغب في كتابة مواصفاتك بنمط TDD، قم بتعيين خاصية ui
في تكوين mochaOpts
الخاص بك إلى tdd
. الآن يجب كتابة ملفات الاختبار الخاصة بك على النحو التالي:
suite('my awesome website', () => {
test('should do some assertions', async () => {
await browser.url('https://webdriver.io')
await expect(browser).toHaveTitle('WebdriverIO · Next-gen browser and mobile automation test framework for Node.js | WebdriverIO')
})
})
إذا كنت ترغب في تحديد إعدادات أخرى خاصة بـ Mocha، يمكنك القيام بذلك باستخدام مفتاح mochaOpts
في ملف التكوين الخاص بك. يمكن العثور على قائمة بجميع الخيارات على موقع مشروع Mocha.
ملاحظة: لا يدعم WebdriverIO الاستخدام المهمل لمعاودات استدعاء done
في Mocha:
it('should test something', (done) => {
done() // يرمي خطأ "done is not a function"
})