Compréhension des fournisseurs de moteurs de test (obsolètes)

Note

Le moteur de test est déconseillé et sera supprimé dans une prochaine version. Utilisez des exemples Power Platform Playwright pour tester les fonctionnalités d’automatisation dans les services Power Platform et Dynamics 365.

Test Engine utilise une architecture basée sur un fournisseur qui lui permet de prendre en charge les tests sur différents types d’applications. Chaque fournisseur est optimisé pour un type d’application spécifique, ce qui permet une automatisation efficace des tests tout en offrant une expérience de test cohérente.

Qu’est-ce qu’un fournisseur ?

Les fournisseurs sont des modules spécialisés au sein de Test Engine qui gèrent les spécificités de l’interaction avec différents types d’applications :

  • Ils font abstraction de la complexité des tests de différentes technologies d’application
  • Ils fournissent une implémentation spécifique au type d’actions de test
  • Ils gèrent l’authentification et le contexte de manière appropriée pour chaque type d’application
  • Ils déterminent la manière dont les tests sont exécutés et interprétés

Types de fournisseur

Les sections suivantes décrivent les différents types de fournisseurs disponibles dans Test Engine. Chaque fournisseur est conçu pour un scénario d’application spécifique, offrant des fonctionnalités personnalisées pour les tests basés sur le Web et les API.

Fournisseurs basés sur le Web

Les fournisseurs basés sur le Web étendent les capacités d’automatisation du navigateur de Playwright en ajoutant des abstractions spécifiques à l’application, ce qui facilite le test des applications Web sans avoir à traiter les éléments DOM de bas niveau.

Fournisseur d’application Canvas

Le fournisseur d’applications canevas (canvas) est spécialisé dans le test des applications Power Apps basées sur des canevas :

  • Niveau d’abstraction : fonctionne avec les noms de contrôle tels que définis dans le studio de création d’applications
  • Technologie : étend Playwright à l’automatisation basée sur un navigateur
  • Fonctionnalités clés :
    • Accède aux contrôles d’application canevas par noms logiques
    • Gère les types de contrôle et les événements spécifiques au canevas
    • Prend en charge la navigation et l’interaction des contrôles de galerie

Exemple de commande :

pac test run `
   --provider canvas `
   --test-plan-file your-testplan.te.yaml `
   --tenant your-tenantid-guid-value `
   --environment-id your-environmentid-guid-value

En savoir plus sur les tests d’applications canevas.

Fournisseur d’applications pilotées par modèle

Le fournisseur d’applications pilotées par modèle (mda) est spécialisé dans les applications pilotées par modèle Dataverse :

  • Niveau d’abstraction : fonctionne avec des éléments d’applications pilotées par modèle tels que des formulaires, des vues et des flux de processus métier
  • Technologie : étend Playwright à l’automatisation basée sur un navigateur
  • Fonctionnalités clés :
    • Navigue dans des interfaces d’applications pilotées par modèle complexes
    • Gère la saisie et la validation des données du formulaire
    • Prise en charge des opérations sur les données d'entité

Exemple de commande :

pac test run `
   --provider mda `
   --test-plan-file your-testplan.te.yaml `
   --tenant your-tenantid-guid-value `
   --environment-id your-environmentid-guid-value `
   --domain "https://contoso.crm.dynamics.com/main.aspx?appid=00001111-aaaa-2222-bbbb-3333cccc4444&pagetype=entityrecord&etn=account"

En savoir plus sur les tests d’applications pilotées par modèle.

Fournisseurs basés sur des API

Les fournisseurs basés sur des API interagissent directement avec les services backend sans nécessairement utiliser une interface de navigateur.

Fournisseur Power Fx

Le fournisseur Power Fx (powerfx) permet l’exécution directe de formules Power Fx, utiles pour les tests d’intégration Dataverse :

  • Authentication : utilise des jetons OAuth obtenus via Azure CLI az login
  • Technologie : appelle directement les points de terminaison d’API Dataverse
  • Fonctionnalités clés :
    • Effectue des opérations CRUD sur des tables Dataverse
    • Exécute la logique métier sans interaction avec l’interface utilisateur
    • Permet des tests d’intégration ciblés

Exemple de commande :

pac test run `
   --provider powerfx `
   --test-plan-file your-testplan.te.yaml `
   --tenant your-tenantid-guid-value `
   --environment-id your-environmentid-guid-value `
   --domain "https://contoso.crm.dynamics.com"

En savoir plus sur les tests des extensions Dataverse.

Mise en œuvre technique

Les sections suivantes expliquent l’architecture sous-jacente, les flux d’authentification et l’intégration Dataverse pour les fournisseurs de Test Engine. La compréhension de ces détails vous aidera à configurer et à étendre les fournisseurs pour vos besoins de test spécifiques.

Architecture

L’architecture du fournisseur de Test Engine suit une approche à plusieurs niveaux :

  1. Couche du moteur principal : contient des fonctionnalités partagées entre tous les fournisseurs
  2. Couche fournisseur : implémente une logique de test spécifique à l’application
  3. Couche d’authentification : gère le traitement du contexte d'identité et de sécurité
  4. Couche d’extension : permet d’ajouter des fonctionnalités personnalisées

Flux d’authentification

Les fournisseurs utilisent différents flux d’authentification en fonction de leurs besoins :

  • Fournisseurs Web (canevas, pilotage par modèle) : en utilisant l’authentification via un navigateur avec l’état de stockage
  • fournisseurs API (Power Fx) : utilisez des jetons OAuth à partir de Azure CLI pour l’accès direct aux API

Intégration de Dataverse

Tous les fournisseurs peuvent bénéficier de l’intégration de Dataverse, qui permet :

  • Accès direct à la table de données via les fonctions Power Fx
  • Opérations d’amorçage et de nettoyage des données
  • Vérification des changements d’état du backend

Pour activer l’intégration de Dataverse, ajoutez les éléments suivants à vos paramètres de test :

testSettings:
  extensionModules:
    enable: true
    parameters:
      enableDataverseFunctions: true

Découvrez comment tester les extensions Dataverse

Choix du bon fournisseur

Sélectionnez un fournisseur en fonction de votre type d’application et de vos exigences en matière de test :

Type d’application Provider Idéal pour
Applications canevas canvas Tests de l’interface utilisateur, interaction avec les contrôles, navigation à l’écran
Applications pilotées par modèle mda Formulaires, vues, flux des processus d’entreprise, opérations d’entité
Intégration pure de Dataverse powerfx Logique backend, opérations sur les tables, validation des plug-ins

Tester des applications basées sur Canvas
Tester des applications pilotées par modèle
Tester des extensions Dataverse
Extensibilité de Test Engine
Test Engine et Playwright