سرویس پشتیبانی از تست هارنسهای کامپوننت Angular
@badisi/wdio-harness یک پکیج شخص ثالث است، برای اطلاعات بیشتر لطفا مراجعه کنید به GitHub | npm
@badisi/wdio-harness
🔬 WebdriverIO پشتیبانی از هارنسهای تست کامپوننت Angular.
هارنسهای تست کامپوننت
یک هارنس کامپوننت، کلاسی است که به یک تست اجازه میدهد با یک کامپوننت از طریق یک API پشتیبانی شده تعامل داشته باشد. هر API هارنس به همان روشی که یک کاربر با کامپوننت تعامل میکند، با آن ارتباط برقرار میکند. با استفاده از API هارنس، یک تست خود را در برابر بهروزرسانیهای داخلی یک کامپوننت، مانند تغییر ساختار 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');
});
});
مثالهای بیشتر اینجا.
توسعه
مستندات توسعهدهنده را اینجا ببینید.
مشارکت
> میخواهید کمک کنید؟
میخواهید یک باگ را گزارش کنید، کدی را مشارکت دهید یا مستندات را بهبود ببخشید؟ عالیه!
اما لطفاً ابتدا راهنمای مشارکت را مطالعه کنید، و در مورد فرآیند ارسال، قوانین کدنویسی و موارد بیشتر اطلاعات کسب کنید.
> آیین نامه رفتاری
لطفاً آیین نامه رفتاری را مطالعه کرده و از آن پیروی کنید تا به من کمک کنید این پروژه را باز و فراگیر نگه دارم.