Partajați prin


Power Apps Motor de testare Power Fx (previzualizare)

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.

Puteți folosi Learning Playground pentru a testa și a utiliza funcțiile documentate în acest ghid.

Ce este Power Fx?

Microsoft Power Fx este un limbaj de programare general cu cod redus, bazat pe formule de tip foi de calcul. Este un limbaj funcțional, declarativ, cu logică imperativă și gestionare a stărilor disponibile după cum este necesar. Istoricul său din Excel îl face accesibil unei game largi de utilizatori, de la începători la dezvoltatori experimentați.

Scenarii avansate Power Fx

Dacă sunteți deja familiarizat cu Power Fx, explorarea scenariilor avansate poate îmbunătăți semnificativ capacitățile și eficiența aplicațiilor dvs. Iată câteva scenarii avansate și de ce ar putea fi de interes:

  • Crearea de funcții personalizate: Crearea de funcții personalizate permite dezvoltatorilor să încapsuleze logica complexă în componente reutilizabile. Această abordare nu numai că simplifică procesul de dezvoltare, dar asigură și consecvența și reduce probabilitatea erorilor. Funcțiile personalizate pot fi adaptate nevoilor specifice ale afacerii, ceea ce face ca testarea dvs. să fie mai puternică și mai flexibilă.

  • Integrarea cu surse de date externe: Integrarea Power Fx cu surse de date externe permite testelor să interacționeze cu o gamă largă de date, de la baze de date la servicii web. Această integrare poate îmbunătăți funcționalitatea aplicațiilor dvs. prin furnizarea de acces la date și actualizări în timp real. De asemenea, permite teste mai dinamice și mai receptive, care se pot adapta la datele în schimbare.

  • Optimizarea performanței pentru teste la scară largă: Pe măsură ce testele cresc în complexitate și scară, optimizarea performanței devine importantă. Aceste optimizări ar putea include performanța, cum ar fi gestionarea eficientă a datelor și utilizarea funcțiilor încorporate ale Power Fx pentru o performanță mai bună. Aceste optimizări asigură că testele rămân responsive și eficiente, chiar și cu seturi de date mari și logică complexă.

Model de extensibilitate

Modelul de extensibilitate al Test Engines Power Fxeste una dintre numeroasele sale caracteristici convingătoare. ... Puteți extinde limbajul cu funcții și acțiuni personalizate, ceea ce îl face extrem de adaptabil la diverse scenarii. Iată câteva aspecte cheie ale modelului de extensibilitate:

  • Reutilizează abilitățile pe care le ai deja: modelul de extensibilitate al Power Fx îți permite să utilizezi abilitățile existente în Power Fx și alte limbaje de programare, cum ar fi C#. Folosirea acestei abordări înseamnă că vă puteți aduce cunoștințele și experiența în testele bazate pe Power Fx , facilitând crearea de soluții puternice și personalizate.

  • Permiteți reutilizarea bibliotecilor și funcționalităților existente: Modelul de extensibilitate permite integrarea bibliotecilor și funcționalităților existente în Power Fx. Reutilizarea permite dezvoltatorilor să reutilizeze cod testat și să reducă timpul de dezvoltare pentru a crește fiabilitatea. Prin încorporarea bibliotecilor existente, puteți îmbunătăți funcționalitatea aplicațiilor dvs. fără a reinventa roata. Power Fx

  • Furnizați un model care să încapsuleze complexitatea pentru utilizatorii funcțiilor: Unul dintre avantajele semnificative ale modelului de extensibilitate este capacitatea sa de a încapsula complexitatea. Producătorii și dezvoltatorii pot crea funcții personalizate care ascund detaliile complexe ale logicii subiacente, oferind o interfață simplă și ușor de utilizat pentru utilizatorii finali. Abstractizarea facilitează utilizarea și beneficierea de funcționalități avansate pentru toată lumea, fără a fi nevoie să înțeleagă complexitățile din spatele acestora.

  • Îmbunătățiți colaborarea și consecvența: Echipele pot crea un set consistent de funcții și acțiuni personalizate care pot fi partajate și reutilizate în diferite proiecte. Utilizarea fișierelor comune poate promova colaborarea și asigură respectarea celor mai bune practici, ceea ce duce la aplicații mai robuste și mai ușor de întreținut. testSettings.yaml

  • Facilitați integrarea cu sisteme externe: Modelul de extensibilitate permite integrarea perfectă cu sisteme și servicii externe. Aceasta înseamnă că vă puteți conecta aplicațiile la o gamă largă de surse de date și API-uri, îmbunătățindu-le capacitățile și oferind acces la date în timp real. Power Fx

  • Suport pentru scenarii avansate: Modelul de extensibilitate este conceput pentru a suporta scenarii avansate, cum ar fi crearea de limbaje specifice domeniului și fluxuri de lucru personalizate. Această flexibilitate asigură că Power Fx poate fi adaptat pentru a satisface nevoile unice ale diferitelor industrii și cazuri de utilizare.

Ca dezvoltatori sau producători avansați, care înțeleg și utilizează modelul de extensibilitate, dezvoltatorii pot crea aplicații mai puternice, flexibile și mai ușor de utilizat Power Fx. Acest model nu numai că îmbunătățește capacitățile limbajului, dar îl face și mai accesibil și valoros pentru o gamă mai largă de utilizatori.

Tipuri definite de utilizator

Tipurile definite de utilizator (UDT) din Test Engine vă permit să definiți structuri de date personalizate care pot fi utilizate în cadrul planurilor dvs. de testare. Power Apps Această caracteristică îmbunătățește flexibilitatea și reutilizabilitatea cazurilor de testare, permițându-vă să creați tipuri de date complexe adaptate nevoilor specifice de testare.

Exemplu de UDT

Acest exemplu arată cum se definesc și se utilizează UDT-uri într-un fișier testSettings.yaml :

powerFxTestTypes:
 - name: ControlName
   value: |
      {ControlName: Text} 
 - name: Options
   value: |
      [{Name: Text, Value: Number}]   

Explicație exemplu UDT

Secțiunea powerFxTestTypes definește două tipuri noi: ControlName și Options.

  • ControlName este un tip simplu cu o singură proprietate ControlName de tip Text.
  • Options sunt un tip mai complex, reprezentând o listă de obiecte, fiecare cu Name (de tipul Text) și Value (de tipul Number).

Puteți utiliza aceste tipuri în cadrul cazurilor de testare pentru a defini variabile și a valida proprietățile acestora. De exemplu, puteți seta o variabilă de tip Options și valida dacă aceasta conține perechile Name și Value așteptate.

Funcții definite de utilizator

Funcțiile definite de utilizator (UDF) din Test Engine vă permit să definiți funcții personalizate care pot fi utilizate în cadrul planurilor dvs. de testare. Power Apps Această caracteristică îmbunătățește flexibilitatea și reutilizabilitatea cazurilor de testare, permițându-vă să creați funcții complexe adaptate nevoilor dvs. specifice de testare.

Beneficii UDF

  • Reutilizabilitate: Funcțiile definite de utilizator (UDF) vă permit să definiți funcții complexe o singură dată și să le reutilizați în mai multe cazuri de testare. Acest lucru reduce redundanța și asigură consecvența planurilor de testare.
  • Lizibilitate: Utilizarea UDF-urilor face planurile de testare mai lizibile și mai ușor de întreținut. Prin definirea funcțiilor personalizate, puteți încapsula o logică complexă și puteți face cazurile de testare mai ușor de înțeles.
  • Flexibilitate: Funcțiile definite de utilizator (UDF) oferă flexibilitatea de a crea funcții personalizate care se potrivesc cerințelor specifice de testare. Folosește această abordare pentru a-ți permite să adaptezi cazurile de testare pentru a se potrivi mai bine nevoilor aplicației tale.
  • Mentenabilitate: Cu ajutorul UDF-urilor, modificările funcțiilor pot fi făcute într-un singur loc, reducând efortul necesar pentru actualizarea mai multor cazuri de testare. Acest lucru îmbunătățește mentenabilitatea planurilor dumneavoastră de testare.

Exemplu de UDF

Acest exemplu arată cum se definesc și se utilizează UDF-uri într-un fișier testSettings.yaml :

testFunctions:
 - description: Wait until control is visible using Document Object Model (DOM) selector
   code: |
    WaitUntilVisible(control: Text): Void = 
      Preview.PlaywrightAction(Concatenate("//div[@data-id='", control, "']"), "wait");
 - description: Get the options for a control using Power Fx control from Model Driven App (MDA)
   code: |
    GetOptions(control: ControlName): Options =
      Preview.GetOptions(control);

Explicație exemplu UDF

Secțiunea testFunctions definește două funcții noi:

  • WaitUntilVisible preia un parametru control de tip Text și așteaptă până când controlul specificat este vizibil folosind un selector DOM.
  • GetOptions preia un parametru control de tip ControlName și returnează opțiunile pentru controlul specificat folosind Power Fx dintr-o aplicație bazată pe model (MDA).

Folosește aceste funcții în cazurile de testare pentru a efectua acțiuni specifice sau a recupera date. De exemplu, puteți utiliza WaitUntilVisible pentru a vă asigura că un control este vizibil înainte de a interacționa cu acesta și GetOptions pentru a prelua și valida opțiunile disponibile pentru un control.