خدمة دعم منصات اختبار مكونات Angular
@badisi/wdio-harness هي حزمة من طرف ثالث، لمزيد من المعلومات يرجى الاطلاع على GitHub | npm
@badisi/wdio-harness
🔬 WebdriverIO دعم لمنصات اختبار مكونات Angular.
منصات اختبار المكونات
منصة اختبار المكونات هي فئة تتيح للاختبار التفاعل مع المكون عبر واجهة برمجة تطبيقات مدعومة. تتفاعل واجهة برمجة التطبيقات الخاصة بكل منصة مع المكون بنفس الطريقة التي يستخدمها المستخدم. من خلال استخدام واجهة برمجة تطبيقات المنصة، يحمي الاختبار نفسه من التحديثات على الأجزاء الداخلية للمكون، مثل تغيير هيكل 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');
});
});
المزيد من الأمثلة هنا.
التطوير
راجع وثائق المطور.
المساهمة
> هل تريد المساعدة؟
هل تريد الإبلاغ عن خطأ، أو المساهمة ببعض الكود، أو تحسين الوثائق؟ ممتاز!
ولكن يرجى قراءة الإرشادات أولاً حول المساهمة، والتعرف على عملية التقديم، وقواعد الترميز والمزيد.
> مدونة قواعد السلوك
يرجى قراءة واتباع مدونة قواعد السلوك ومساعدتي في الحفاظ على هذا المشروع مفتوحًا وشاملًا.