Angular组件测试工具支持服务
@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)
- 从给定元素(默认为body)获取HarnessLoader实例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');
});
});
更多示例点击这里。
开发
查看开发者文档。
贡献
> 想要帮忙?
想要提交bug、贡献代码或改进文档?太好了!
但是请先阅读贡献指南,了解提交流程、编码规则等更多信息。
> 行为准则
请阅读并遵循行为准则,帮助我保持这个项目的开放性和包容性。