Saltar al contenido principal

Servicio de soporte para arneses de prueba de componentes Angular

@badisi/wdio-harness es un paquete de terceros, para más información consulte GitHub | npm

@badisi/wdio-harness

🔬 WebdriverIO soporte para arneses de prueba de componentes Angular.

npm versionnpm donwloadslicense

build statusPRs welcome


Arneses de prueba de componentes

Un arnés de componente es una clase que permite a una prueba interactuar con un componente a través de una API compatible. La API de cada arnés interactúa con un componente de la misma manera que lo haría un usuario. Al usar la API del arnés, una prueba se aísla contra actualizaciones de los elementos internos de un componente, como cambiar su estructura DOM. La idea de los arneses de componentes proviene del patrón PageObject comúnmente utilizado para pruebas de integración.

Más información


Instalación

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

Uso

Métodos

  • createHarnessEnvironment(rootElement) - obtiene una instancia de HarnessLoader desde un elemento dado (por defecto es body)
  • getHarness(harnessType, element) - busca una instancia de arnés desde una clase ComponentHarness dada y un elemento
  • getHarness(harnessType) - busca una instancia de arnés desde una clase ComponentHarness dada
  • getHarness(query) - busca una instancia de arnés desde un HarnessPredicate dado
  • getAllHarnesses(query) - actúa como getHarness, pero devuelve un array de instancias de arnés
  • waitForAngular() - espera a que Angular termine de inicializarse

Ejemplo

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');
});
});

Más ejemplos aquí.

Desarrollo

Consulte la documentación para desarrolladores.

Contribución

> ¿Quieres ayudar?

¿Quieres reportar un error, contribuir con código o mejorar la documentación? ¡Excelente!

Pero por favor, lee primero las directrices para contribuir, y aprende sobre el proceso de envío, las reglas de codificación y más.

> Código de Conducta

Por favor, lee y sigue el Código de Conducta y ayúdame a mantener este proyecto abierto e inclusivo.

Welcome! How can I help?

WebdriverIO AI Copilot