Dataverse-extensies testen met Test Engine (afgeschaft)

Note

De test-engine is afgeschaft en wordt verwijderd in een toekomstige release. Gebruik Power Platform Playwright-voorbeelden voor testautomatiseringsmogelijkheden in Power Platform en Dynamics 365-services.

In dit artikel wordt uitgelegd hoe u integratietests kunt maken met Dataverse. Deze functionaliteit past de Power Fx-mogelijkheid toe om verbinding te maken met Dataverse-tabellen.

Verbinding maken met Dataverse

Om Dataverse integratie in te schakelen, voegt u de enableDataverseFunctions parameter toe aan uw testSettingsextensionModules :

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

Wanneer u Dataverse-integratie inschakelt, moet u Azure CLI openen met een gebruiker of service-principal met rechten voor de Dataverse-omgeving. U kunt de opdracht az login gebruiken. Meer informatie: Aanmelden met Azure CLI.

De Dataverse API-URL die voor integratie wordt gebruikt, wordt verkregen via de hostdomeinnaam van de pac-testrun--domain parameter of door een PowerShell-omgevingsvariabele met de naam DATAVERSE_URL te definiëren.

Voorbeeld inschakelen

Momenteel vereisen alle Dataverse extensietestmogelijkheden het gebruik van voorbeeldfuncties. Om deze in te schakelen, voegt u Preview toe aan de allowPowerFxNamespaces lijst in extensionModules.

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview
    parameters:
      enableDataverseFunctions: true

De huidige status resetten

Definieer de onTestCaseStart gebeurtenis-handler in uw geschreven test-yaml om algemene acties uit te voeren vóór elke testcase. Voorbeeld:

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))

In dit voorbeeld wordt ForAll gebruikt om over een tabel te itereren en een actie op elke record uit te voeren. De Remove functie wordt vervolgens gebruikt om elk record uit een tabel te verwijderen, zodat de tabel leeg is voordat elke test wordt uitgevoerd.

Functies van belang

Deze functies zijn handig bij het werken met Dataverse:

  • Collect: Voegt records toe aan een tabel.
  • CountRows: retourneert het aantal records in een tabel.
  • First: retourneert de eerste record in een tabel.
  • ForAll: Loopt door een tabel en voert een actie uit op elk record.
  • Patch: Een bestaand record bijwerken.
  • Remove: Verwijdert een specifiek record uit een tabel.

Considerations

Houd rekening met de volgende overwegingen wanneer u teststappen schrijft:

  • Standaardinstellingen worden niet ondersteund. Als gevolg hiervan worden voorbeelden zoals Power Fx niet ondersteund. Patch(Accounts, Defaults(Accounts), {name:"test"})
  • Je kunt Collect een alternatief voor Patch gebruiken met de Defaults functie

Dataverse-tests uitvoeren

U kunt de Power Fx provider (powerfx) gebruiken om tests uit te voeren die interacteren met Dataverse zonder dat u een canvas of modelgestuurde app-interface nodig hebt. Dit is handig voor het testen van bedrijfslogica, plug-ins, stromen en andere back-endservices.

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"

AI-integratie

Door de open source Power Apps Test Engine gecompileerd in de Debug modus te gebruiken in combinatie met de juiste testinstellingen, wordt de Preview.AIExecutePrompt functie in uw tests ingeschakeld.

Voeg het volgende toe aan uw testinstellingen om AI-integratie in te schakelen:

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

Voorbeeldgebruik van de AI-functie:

Assert("Paris" = Preview.AIExecutePrompt("Country Capital", { Country: "France" }).Text)