Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
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.
Cet article explique comment créer des tests d’intégration avec Dataverse. Cette fonctionnalité applique la fonctionnalité Power Fx pour se connecter aux tables Dataverse.
Connexion à Dataverse
Pour activer l’intégration Dataverse, ajoutez le paramètre enableDataverseFunctions dans votre testSettingsextensionModules :
testSettings:
extensionModules:
enable: true
parameters:
enableDataverseFunctions: true
Lorsque vous activez l'intégration de Dataverse, vous devez ouvrir Azure CLI avec un utilisateur ou un principal de service disposant de droits sur l'environnement Dataverse. Vous pouvez utiliser la commande : az login Plus d’informations : Sign in with Azure CLI.
L’URL de l'API Dataverse utilisée pour l'intégration est obtenue soit à partir du nom de domaine hôte du paramètre pac test run--domain, soit en définissant une variable d’environnement PowerShell nommée DATAVERSE_URL.
Activer la prévisualisation
Actuellement, toutes les fonctionnalités de test d’extension Dataverse nécessitent l’utilisation des fonctions de version préliminaire. Pour les activer, ajoutez Preview à la liste allowPowerFxNamespaces dans extensionModules.
testSettings:
extensionModules:
enable: true
allowPowerFxNamespaces:
- Preview
parameters:
enableDataverseFunctions: true
Réinitialisation de l'état actuel
Définissez le gestionnaire d’événements onTestCaseStart dans votre YAML de test créé pour effectuer des actions courantes avant chaque cas de test. Par exemple :
testSuite:
testSuiteName: Dataverse tests
testSuiteDescription: Validate Power Fx can be used to run Dataverse integration tests
persona: User1
appLogicalName: N/A
onTestCaseStart: |
= ForAll(Accounts, Remove(Accounts, ThisRecord))
Dans cet exemple, ForAll est utilisé pour itérer sur une table et effectuer une action sur chaque enregistrement. La fonction Remove est ensuite utilisée pour supprimer chaque enregistrement d’une table afin de s’assurer qu’une table est vide avant l’exécution de chaque test.
Fonctions d’intérêt
Ces fonctions sont utiles lorsque vous travaillez avec Dataverse :
- Collecter : Ajoute des enregistrements à une table.
- CountRows : renvoie le nombre d’enregistrements d’une table.
- First : Renvoie le premier enregistrement dans une table.
- ForAll : Parcourt une table et effectue une action sur chaque enregistrement.
- Patch : Mettre à jour un enregistrement existant.
- Remove : Supprime un enregistrement spécifique d’une table.
Considérations
Tenez compte de ces considérations lorsque vous écrivez des étapes de test :
-
Defaults n’est pas pris en charge. Par conséquent, les exemples Power Fx de type
Patch(Accounts, Defaults(Accounts), {name:"test"})ne sont pas pris en charge. - Vous pouvez utiliser
Collectcomme une alternative àPatchavec la fonctionDefaults
Exécution des tests Dataverse
Vous pouvez utiliser le fournisseur Power Fx (powerfx) pour exécuter des tests qui interagissent avec Dataverse sans avoir besoin d’une interface canevas ou application pilotée par modèle. Ceci est utile pour tester la logique métier, les plug-ins, les flux et d’autres services backend.
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"
Intégration de l’IA
L’utilisation du moteur de test open source Power Apps compilée en mode Debug avec les paramètres de test appropriés active la fonction Preview.AIExecutePrompt dans vos tests.
Ajoutez les éléments suivants à vos paramètres de test pour activer l’intégration de l’IA :
testSettings:
extensionModules:
enable: true
parameters:
enableDataverseFunctions: true
enableAIFunctions: true
Exemple d’utilisation de la fonction AI :
Assert("Paris" = Preview.AIExecutePrompt("Country Capital", { Country: "France" }).Text)