انتقل إلى المحتوى الرئيسي

خدمة دعم منصات اختبار مكونات Angular

@badisi/wdio-harness هي حزمة من طرف ثالث، لمزيد من المعلومات يرجى الاطلاع على GitHub | npm

@badisi/wdio-harness

🔬 WebdriverIO دعم لمنصات اختبار مكونات Angular.

npm versionnpm donwloadslicense

build statusPRs welcome


منصات اختبار المكونات

منصة اختبار المكونات هي فئة تتيح للاختبار التفاعل مع المكون عبر واجهة برمجة تطبيقات مدعومة. تتفاعل واجهة برمجة التطبيقات الخاصة بكل منصة مع المكون بنفس الطريقة التي يستخدمها المستخدم. من خلال استخدام واجهة برمجة تطبيقات المنصة، يحمي الاختبار نفسه من التحديثات على الأجزاء الداخلية للمكون، مثل تغيير هيكل DOM الخاص به. تأتي فكرة منصات اختبار المكونات من نمط PageObject المستخدم بشكل شائع لاختبار التكامل.

مزيد من المعلومات


التثبيت

npm install @badisi/wdio-harness --save-dev
yarn add @badisi/wdio-harness --dev

الاستخدام

الأساليب

  • createHarnessEnvironment(rootElement) - يحصل على نسخة HarnessLoader من عنصر معين (افتراضيًا هو body)
  • getHarness(harnessType, element) - يبحث عن نسخة منصة اختبار من فئة ComponentHarness معينة وعنصر
  • getHarness(harnessType) - يبحث عن نسخة منصة اختبار من فئة ComponentHarness معينة
  • getHarness(query) - يبحث عن نسخة منصة اختبار من HarnessPredicate معين
  • getAllHarnesses(query) - يعمل مثل getHarness، لكنه يعيد مصفوفة من نسخ منصات الاختبار
  • waitForAngular() - ينتظر حتى ينتهي Angular من التمهيد

مثال

import { MatDatepickerInputHarness } from '@angular/material/datepicker/testing';
import { getHarness } from '@badisi/wdio-harness';

describe('Angular Material Harness', () => {
beforeEach(async () => {
await browser.url('http://localhost:4200');
});

it('MatDatePicker', async () => {
const datepicker = await getHarness(MatDatepickerInputHarness.with({ selector: '#demo-datepicker-input' }));

await datepicker.setValue('9/27/1954');
expect(await datepicker.getValue()).withContext('Date should be 9/27/1954').toBe('9/27/1954');

await datepicker.openCalendar();
const calendar = await datepicker.getCalendar();
await calendar.next();
await calendar.selectCell({ text: '20' });
expect(await datepicker.getValue()).withContext('Date should be 10/20/1954').toBe('10/20/1954');
});
});

المزيد من الأمثلة هنا.

التطوير

راجع وثائق المطور.

المساهمة

> هل تريد المساعدة؟

هل تريد الإبلاغ عن خطأ، أو المساهمة ببعض الكود، أو تحسين الوثائق؟ ممتاز!

ولكن يرجى قراءة الإرشادات أولاً حول المساهمة، والتعرف على عملية التقديم، وقواعد الترميز والمزيد.

> مدونة قواعد السلوك

يرجى قراءة واتباع مدونة قواعد السلوك ومساعدتي في الحفاظ على هذا المشروع مفتوحًا وشاملًا.

Welcome! How can I help?

WebdriverIO AI Copilot