Testování rozšíření Dataverse pomocí testovacího modulu (zastaralé)

Note

Test Engine je zastaralý a v budoucí verzi se odebere. Ukázky Power Platform Playwright slouží k testování možností automatizace v Power Platform a Dynamics 365 službách.

Tento článek vysvětluje, jak vytvářet integrační testy pomocí Dataverse. Tato funkce využívá schopnost Power Fx k připojení k tabulkám Dataverse.

Připojení k Dataverse

Chcete-li povolit integraci Dataverse, přidejte parametr enableDataverseFunctions v testSettingsextensionModules.

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

Když povolíte integraci s Dataverse, je nutné otevřít rozhraní Azure CLI s uživatelem nebo služebním účtem, který má práva k prostředí Dataverse. Můžete použít příkaz: az login Další informace: přihlášení pomocí Azure CLI.

Adresa URL API Dataverse používaná pro integraci se získá buď z názvu hostitelské domény parametru spustit test pac--domain nebo definováním proměnné prostředí PowerShell s názvem DATAVERSE_URL.

Povolení náhledu

V současné době všechny možnosti testování rozšíření Dataverse vyžadují použití funkcí náhledu. Chcete-li je povolit, přidejte Preview do allowPowerFxNamespaces seznamu v extensionModules.

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

Resetování aktuálního stavu

Definujte obslužnou rutinu události onTestCaseStart v autorizovaném testovacím souboru YAML, abyste mohli provádět běžné akce před každým testovacím případem. Příklad:

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

V tomto příkladu se ForAll používá k iteraci tabulky a provedení akce s každým záznamem. Funkce Remove se poté použije k odstranění každého záznamu z tabulky, aby se před provedením každého testu zajistila prázdná tabulka.

Zajímavé funkce

Tyto funkce jsou užitečné při práci s Dataverse:

  • Collect: Přidá záznamy do tabulky.
  • CountRows: Vrátí počet záznamů v tabulce.
  • First: Vrátí první záznam v tabulce.
  • ForAll: Iteruje přes tabulku a provádí akci s každým záznamem.
  • Patch: Aktualizace existujícího záznamu.
  • Odebrat: Odstraní konkrétní záznam z tabulky.

Considerations

Při psaní kroků testování vezměte v úvahu tyto aspekty:

  • Výchozí hodnoty nejsou podporovány. V důsledku toho nejsou podporovány příklady jako Power Fx . Patch(Accounts, Defaults(Accounts), {name:"test"})
  • Můžete použít Collect jako alternativu k Patch s funkcí Defaults

Spouštění testů Dataverse

Provider Power Fx (powerfx) můžete použít ke spuštění testů, které interagují s Dataverse bez nutnosti použití plátna nebo rozhraní aplikace řízené modelem. To je užitečné pro testování obchodní logiky, pluginů, flow a dalších backendových služeb.

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"

Integrace umělé inteligence

Použití open source testovacího enginu Power Apps zkompilovaného v režimu spolu s příslušným nastavením testů povolí funkci Debug Preview.AIExecutePrompt ve vašich testech.

Pro povolení integrace umělé inteligence přidejte do nastavení testu následující:

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

Příklad použití funkce AI:

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