Razširitve Test Dataverse z testnim pogonom (zastarele)

opomba,

Test Engine je zastarel in bo odstranjen v prihodnji izdaji. Uporabite Power Platform Playwright vzorce za zmogljivosti avtomatizacije testiranja v Power Platform in Dynamics 365 storitvah.

Ta članek pojasnjuje, kako ustvariti integracijske teste z Dataverse. Ta funkcionalnost uporablja zmožnost povezovanja s tabelami. Power Fx Dataverse

Vzpostavljanje povezave s strežnikom Dataverse

Če želite omogočiti integracijo, dodajte parameter v `testSettings`, `extensionModules`: Dataverse enableDataverseFunctions......

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

Ko omogočite integracijo z Dataverse, morate odpreti Azure CLI pri uporabniku ali storitvenem principu, ki ima pravice do okolja Dataverse. Lahko uporabite ukaz: az login Več informacij: Prijavite se z Azure CLI.

URL API-ja, ki se uporablja za integracijo, se pridobi bodisi iz imena domene gostitelja parametra preizkusa pac bodisi z definiranjem spremenljivke okolja PowerShell z imenom Dataverse . ...--domain...DATAVERSE_URL

Omogočanje predogleda

Trenutno vse Dataverse zmogljivosti testiranja razširitev zahtevajo uporabo funkcij predogleda. Če želite to omogočiti, dodajte Preview na seznam allowPowerFxNamespaces v extensionModules.

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

Ponastavitev trenutnega stanja

V avtoriziranem testnem yaml-u definirajte upravljalnik dogodkov, ki bo pred vsakim testnim primerom izvajal običajna dejanja. onTestCaseStart Na primer:

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 tem primeru se ForAll uporablja za iteracijo po tabeli in izvedbo dejanja na vsakem zapisu. Funkcija *a32> Remove se nato uporabi za brisanje vsakega zapisa iz tabele, da se pred izvedbo vsakega preizkusa zagotovi prazna tabela.

Funkcije, ki nas zanimajo

Te funkcije so uporabne pri delu z Dataverse:

  • Zberi: Doda zapise v tabelo.
  • CountRows: Vrne število zapisov v tabeli.
  • Prvi: Vrne prvi zapis v tabeli.
  • ForAll: Iterira po tabeli in izvede dejanje za vsak zapis.
  • Popravek: Posodobi obstoječi zapis.
  • Odstrani: Izbriše določen zapis iz tabele.

Vidiki

Pri pisanju korakov testa upoštevajte te dejavnike:

  • Privzete vrednosti niso podprte. Posledično primeri, kot je Power Fx , niso podprti. Patch(Accounts, Defaults(Accounts), {name:"test"})
  • Kot alternativo funkciji Collect lahko uporabite PatchDefaults

Izvajanje testov Dataverse

Ponudnika Power Fx (powerfx) lahko uporabite za izvajanje testov, ki delujejo z Dataverse brez potrebe po platnu ali vmesniku aplikacije, ki temelji na modelu. To je uporabno za testiranje poslovne logike, vtičnikov, tokov in drugih zalednih storitev.

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"

Integracija umetne inteligence

Uporaba testnega motorja open source Power Apps Test Engine prevedenega v načinu Debug skupaj z ustreznimi testnimi nastavitvami omogoči funkcijo Preview.AIExecutePrompt v vaših testih.

Za omogočanje integracije umetne inteligence dodajte v nastavitve testa naslednje:

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

Primer uporabe funkcije AI:

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