Partager via


Comprendre les fournisseurs de Test Engine (version préliminaire)

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 canevas

Le fournisseur d’application canevas (canvas) est spécialisé dans le test d’applications canevas Power Apps :

  • Niveau d’abstraction : fonctionne avec les noms de contrôle tels que définis dans le studio des créateurs 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
    • Prend en charge les opérations d’enregistrement 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 :

  • Authentification : utilise les jetons OAuth obtenus via la commande 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 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, piloté par modèle) : utiliser l’authentification basée sur un navigateur avec l’état de stockage
  • Fournisseurs d’API (Power Fx) : utilisez les jetons OAuth d’Azure CLI pour un accès direct à l’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 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 Fournisseur Convient le mieux pour
Applications de 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 de Dataverse pure powerfx Logique backend, opérations sur les tables, validation des plug-ins

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