Service de support pour les harnais de test de composants Angular
@badisi/wdio-harness est un package tiers, pour plus d'informations veuillez consulter GitHub | npm
@badisi/wdio-harness
🔬 WebdriverIO support pour les harnais de test de composants Angular.
Harnais de test de composants
Un harnais de composant est une classe qui permet à un test d'interagir avec un composant via une API supportée. L'API de chaque harnais interagit avec un composant de la même manière qu'un utilisateur le ferait. En utilisant l'API du harnais, un test se protège contre les mises à jour des éléments internes d'un composant, comme la modification de sa structure DOM. L'idée des harnais de composants provient du modèle PageObject couramment utilisé pour les tests d'intégration.
Installation
npm install @badisi/wdio-harness --save-dev
yarn add @badisi/wdio-harness --dev
Utilisation
Méthodes
createHarnessEnvironment(rootElement)
- obtient une instance HarnessLoader à partir d'un élément donné (par défaut le corps)getHarness(harnessType, element)
- recherche une instance de harnais à partir d'une classe ComponentHarness donnée et d'un élémentgetHarness(harnessType)
- recherche une instance de harnais à partir d'une classe ComponentHarness donnéegetHarness(query)
- recherche une instance de harnais à partir d'un HarnessPredicate donnégetAllHarnesses(query)
- agit comme getHarness, mais renvoie un tableau d'instances de harnaiswaitForAngular()
- attend qu'Angular termine son amorçage
Exemple
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');
});
});
Plus d'exemples ici.
Développement
Consultez la documentation pour les développeurs.
Contribution
> Vous voulez aider ?
Vous souhaitez signaler un bug, contribuer au code ou améliorer la documentation ? Excellent !
Mais veuillez d'abord lire les directives pour contribuer, et apprendre le processus de soumission, les règles de codage et plus encore.
> Code de conduite
Veuillez lire et suivre le Code de conduite et aidez-moi à maintenir ce projet ouvert et inclusif.