Partajați prin


Extensii de testare cu Test Engine (previzualizare) Dataverse

Notă

Caracteristicile în regim de previzualizare nu sunt destinate utilizării în producție și pot avea funcționalitate restricționată. Aceste caracteristici sunt disponibile înainte de lansarea oficială, astfel încât clienții să poată obține acces din timp și să poată oferi feedback.

Acest articol explică cum se creează teste de integrare cu Dataverse. Această funcționalitate aplică capacitatea de conectare cu tabele. Power Fx Dataverse

Se realizează conexiunea la Dataverse

Pentru a activa Dataverse integrarea, adăugați enableDataverseFunctions parametrul în testSettingsextensionModules :

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

Când activați Dataverse integrarea, trebuie să deschideți Azure CLI cu un utilizator sau un principal de serviciu care are drepturi asupra Dataverse mediului. Puteți utiliza comanda: az login Mai multe informații: conectați-vă cu Azure CLI.

URL-ul API Dataverse utilizat pentru integrare se obține fie din numele domeniului gazdă al parametrului de rulare a testului pac--domain, fie prin definirea unei variabile de mediu PowerShell numite DATAVERSE_URL.

Activarea previzualizării

În prezent, toate capacitățile de testare a extensiilor Dataverse necesită utilizarea funcțiilor de previzualizare. Pentru a le activa, adăugați Preview la allowPowerFxNamespaces lista din extensionModules.

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

Resetarea stării actuale

Definiți gestionatorul de evenimente onTestCaseStart în fișierul YAML de testare creat pentru a efectua acțiuni comune înainte de fiecare caz de testare. De exemplu:

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

În acest exemplu, ForAll este utilizat pentru a parcurge un tabel și a efectua o acțiune asupra fiecărei înregistrări. Funcția Remove este apoi utilizată pentru a șterge fiecare înregistrare dintr-un tabel, pentru a asigura un tabel gol înainte de executarea fiecărui test.

Funcții de interes

Aceste funcții sunt utile atunci când se lucrează cu Dataverse:

  • Colectează: Adaugă înregistrări într-un tabel.
  • CountRows: Returnează numărul de înregistrări dintr-un tabel.
  • Prima: Returnează prima înregistrare dintr-un tabel.
  • ForAll: Iterează asupra unui tabel și efectuează o acțiune asupra fiecărei înregistrări.
  • Patch: Actualizați o înregistrare existentă.
  • Eliminare: Șterge o anumită înregistrare dintr-un tabel.

Considerații

Luați în considerare aceste aspecte atunci când scrieți pașii de testare:

  • Setările implicite nu sunt acceptate. Prin urmare, exemple precum Power Fx nu sunt acceptate. Patch(Accounts, Defaults(Accounts), {name:"test"})
  • Puteți utiliza Collect o alternativă la Patch cu funcția Defaults

Rularea testelor Dataverse

Puteți utiliza furnizorul Power Fx (powerfx) pentru a rula teste care interacționează cu Dataverse fără a fi nevoie de o interfață canvas sau de o aplicație bazată pe model. Acest lucru este util pentru testarea logicii de business, a pluginurilor, a fluxurilor și a altor servicii 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"

Integrare AI

Utilizarea motorului de testare open source Power Apps Test Engine compilat în Debug modul împreună cu setările de testare corespunzătoare va activa funcția Preview.AIExecutePrompt în testele dumneavoastră.

Adăugați următoarele la setările de testare pentru a activa integrarea inteligenței artificiale:

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

Exemplu de utilizare a funcției AI:

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