Notă
Accesul la această pagină necesită autorizare. Puteți încerca să vă conectați sau să modificați directoarele.
Accesul la această pagină necesită autorizare. Puteți încerca să modificați directoarele.
Notă
Test Engine este deprevăzut și va fi eliminat într-o versiune viitoare. Folosește Power Platform Playwright samples pentru capabilități de automatizare a testelor în Power Platform și serviciile Dynamics 365.
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 activezi integrarea Dataverse, trebuie să deschizi Azure CLI cu un utilizator sau principal de serviciu care are drepturi asupra mediului Dataverse. Poți folosi comanda: az login Mai multe informații: Conectează-te 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
Collecto alternativă laPatchcu funcțiaDefaults
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
Folosirea open source Power Apps Test Engine compilată în modul Debug împreună cu setările corespunzătoare de testare, va activa funcția Preview.AIExecutePrompt în testele tale.
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)