Dijeli putem


Power Apps Testni mehanizam Power Fx (pregled)

Napomena

Značajke pretpregleda nisu namijenjene u proizvodne svrhe i mogu imati ograničene funkcije. Te su značajke dostupne prije službenog izdavanja da bi se klijentima omogućio prijevremeni pristup i slanje povratnih informacija.

Možete iskoristiti Learning Playground da biste se dočepali i isprobali funkcije dokumentirane u ovom vodiču.

Što je Power Fx?

Microsoft Power Fx je programski jezik opće namjene s niskim kodom koji se temelji na formulama sličnim proračunskim tablicama. To je tipizirani, deklarativni, funkcionalni jezik, s imperativnom logikom i upravljanjem stanjem dostupnim po potrebi. Njegova povijest iz Excela čini ga dostupnim širokom krugu korisnika, od početnika do iskusnih programera.

Napredni Power Fx scenariji

Ako ste već upoznati s tim Power Fx, uranjanje u napredne scenarije može značajno poboljšati mogućnosti i učinkovitost vaših aplikacija. Evo nekoliko naprednih scenarija i zašto bi mogli biti zanimljivi:

  • Stvaranje prilagođenih funkcija: Stvaranje prilagođenih funkcija omogućuje programerima da složenu logiku uključe u komponente za višekratnu upotrebu. Ovaj pristup ne samo da pojednostavljuje proces razvoja, već i osigurava dosljednost i smanjuje vjerojatnost pogrešaka. Prilagođene funkcije mogu se prilagoditi specifičnim poslovnim potrebama, čineći vaš test moćnijim i fleksibilnijim.

  • Integracija s vanjskim izvorima podataka: Integracija Power Fx s vanjskim izvorima podataka omogućuje vašim testovima interakciju sa širokim rasponom podataka, od baza podataka do web servisa. Ova integracija može poboljšati funkcionalnost vaših aplikacija pružajući pristup podacima i ažuriranja u stvarnom vremenu. Također omogućuje dinamičnije i responzivnije testove koji se mogu prilagoditi promjenjivim podacima.

  • Optimizacija performansi za testove velikih razmjera: kako vaši testovi postaju složeniji i skalirani, optimizacija performansi postaje važna. Te optimizacije mogu uključivati performanse, kao što je učinkovito rukovanje podacima i korištenje Power Fx ugrađenih funkcija za bolje performanse. Ove optimizacije osiguravaju da vaši testovi ostanu responzivni i učinkoviti, čak i s velikim skupovima podataka i složenom logikom.

Model proširivosti

Model Power Fxproširivosti Test Enginesa jedna je od njegovih mnogih uvjerljivih značajki. Jezik možete proširiti prilagođenim funkcijama i radnjama, što ga čini vrlo prilagodljivim različitim scenarijima. Evo nekih ključnih aspekata modela proširivosti:

  • Ponovno upotrijebite vještine koje već imate: Power Fx model proširivosti omogućuje vam korištenje postojećih vještina u Power Fx drugim programskim jezicima, kao što je C#. Korištenje ovog pristupa znači da možete unijeti svoje znanje i iskustvo u temeljene testove Power Fx , što olakšava stvaranje moćnih i prilagođenih rješenja.

  • Dopusti ponovnu upotrebu postojećih biblioteka i značajki: Model proširivosti omogućuje integraciju postojećih biblioteka i značajki Power Fx. Ponovna upotreba omogućuje programerima ponovno korištenje isprobanog koda i smanjenje vremena razvoja radi povećanja pouzdanosti. Uključivanjem postojećih biblioteka možete poboljšati funkcionalnost svojih Power Fx aplikacija bez ponovnog izmišljanja kotača.

  • Osigurati model za inkapsulaciju složenosti za korisnike funkcija: Jedna od značajnih prednosti modela proširivosti je njegova sposobnost uključivanja složenosti. Proizvođači i programeri mogu stvoriti prilagođene funkcije koje skrivaju zamršene detalje temeljne logike, pružajući jednostavno i korisničko sučelje za krajnje korisnike. Apstrakcija svima olakšava korištenje i iskorištavanje naprednih funkcija bez potrebe za razumijevanjem složenosti koja stoji iza nje.

  • Poboljšajte suradnju i dosljednost: Timovi mogu stvoriti dosljedan skup prilagođenih funkcija i radnji koje se mogu dijeliti i ponovno koristiti u različitim projektima. Korištenje zajedničke testSettings.yaml datoteke može potaknuti suradnju i osigurati poštivanje najboljih praksi, što dovodi do robusnijih aplikacija koje se mogu održavati.

  • Olakšajte integraciju s vanjskim sustavima: Model proširivosti omogućuje besprijekornu integraciju s vanjskim sustavima i uslugama. To znači da svoje Power Fx aplikacije možete povezati sa širokim rasponom izvora podataka i API-ja, poboljšavajući njihove mogućnosti i pružajući pristup podacima u stvarnom vremenu.

  • Podrška za napredne scenarije: Model proširivosti osmišljen je za podršku naprednim scenarijima, kao što je stvaranje jezika specifičnih za domenu i prilagođenih tijekova rada. Ova fleksibilnost osigurava da se može Power Fx prilagoditi jedinstvenim potrebama različitih industrija i slučajeva upotrebe.

Kao programer ili napredni proizvođač koji razumije i koristi model proširivosti, programeri mogu stvoriti snažnije, fleksibilnije i jednostavnije aplikacije s korisnikom Power Fx. Ovaj model ne samo da poboljšava mogućnosti jezika, već ga čini i pristupačnijim i vrijednijim širem krugu korisnika.

Korisnički definirani tipovi

Korisnički definirane vrste (UDT) u testnom modulu Power Apps omogućuju vam definiranje prilagođenih struktura podataka koje se mogu koristiti u vašim testnim planovima. Ova značajka povećava fleksibilnost i mogućnost ponovne upotrebe vaših testnih slučajeva omogućujući vam stvaranje složenih vrsta podataka prilagođenih vašim specifičnim potrebama testiranja.

Primjer UDT

Ovaj primjer pokazuje kako definirati i koristiti UDT-ove u testSettings.yaml datoteci:

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

Objašnjenje primjera UDT-a

Odjeljak powerFxTestTypes definira dvije nove vrste: ControlName i Options.

  • ControlName je jednostavan tip s jednim svojstvom ControlName tipa Text.
  • Options su složeniji tip, koji predstavljaju popis objekata, svaki sa Name (tipa Text) i Value (tipa Number).

Ove vrste možete koristiti u svojim testnim slučajevima za definiranje varijabli i provjeru njihovih svojstava. Na primjer, možete postaviti varijablu vrste Options i potvrditi da sadrži očekivane Name i Value parove.

Korisnički definirane funkcije

Korisnički definirane funkcije (UDF) u testnom modulu Power Apps omogućuju vam definiranje prilagođenih funkcija koje se mogu koristiti u vašim testnim planovima. Ova značajka povećava fleksibilnost i mogućnost ponovne upotrebe vaših testnih slučajeva omogućujući vam stvaranje složenih funkcija prilagođenih vašim specifičnim potrebama testiranja.

Prednosti UDF-a

  • Ponovna upotreba: UDF-ovi vam omogućuju da jednom definirate složene funkcije i ponovno ih koristite u više testnih slučajeva. To smanjuje redundanciju i osigurava dosljednost u vašim planovima testiranja.
  • Čitljivost: Korištenje UDF-ova čini vaše planove testiranja čitljivijima i lakšima za održavanje. Definiranjem prilagođenih funkcija možete obuhvatiti složenu logiku i učiniti svoje testne slučajeve razumljivijima.
  • Fleksibilnost: UDF-ovi pružaju fleksibilnost za stvaranje prilagođenih funkcija koje odgovaraju vašim specifičnim zahtjevima testiranja. Upotrijebite ovaj pristup kako biste prilagodili svoje testne slučajeve kako bi bolje odgovarali potrebama vaše aplikacije.
  • Održavanje: S UDF-ovima se promjene funkcija mogu izvršiti na jednom mjestu, smanjujući napor potreban za ažuriranje više testnih slučajeva. To poboljšava održivost vaših testnih planova.

Primjer UDF

Ovaj primjer pokazuje kako definirati i koristiti UDF-ove u testSettings.yaml datoteci:

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

Objašnjenje primjera UDF-a

Odjeljak testFunctions definira dvije nove funkcije:

  • WaitUntilVisible uzima control parametar vrste Text i čeka dok navedena kontrola ne bude vidljiva pomoću birača DOM-a.
  • GetOptions uzima control parametar vrste ControlName i vraća mogućnosti za navedenu kontrolu pomoću Power Fx aplikacije stvorene prema modelu (MDA).

Koristite ove funkcije u testnim slučajevima za izvođenje određenih radnji ili dohvaćanje podataka. Na primjer, možete koristiti WaitUntilVisible kako biste osigurali da je kontrola vidljiva prije interakcije s njom te GetOptions za dohvaćanje i provjeru valjanosti mogućnosti dostupnih za kontrolu.