Dijeli putem


Power Apps Test Engine oblik YAML (pretpregled)

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.

Testovi su definirani u servisu YAML prema istim smjernicama kao i Power Fx. Saznajte više o gramatiki za formule dodatka Power Fx YAML.

Detaljne primjere potražite u mapi PowerApps-TestEngine/samples .

Definicije YAML sheme

Svojstvo Opis
testSuite Definira jedan testni paket, testne slučajeve u paketu za testiranje i konfiguraciju specifičnu za testni paket.
testSettings Definira postavke za testni paket koji se ponovno iskoristi u više testnih slučajeva
environmentVariables Definira varijable koje bi se mogle promijeniti jer je aplikacija prenesena u različitim okruženjima

testSuite

Koristi se za definiranje jednog testa.

Svojstvo Tip Opis
persona niz Obvezno. Korisnik koji je prijavljen radi izvođenja testa. Mora se podudarati s osobom navedenom u odjeljku Korisnici.
testCases Probna slova Obvezno. Definira slučajeve testiranja u paketu za testiranje. Slučajevi testova sadržani u kompletima testova izvode se određenim redoslijedom. Stanje aplikacije zadržava se u svim testima paketa.
testSuiteName niz Obvezno. Naziv testnog paketa.
appLogicalName niz Nije obavezno. Logički naziv aplikacije koja će se pokrenuti. Može se dobiti iz rješenja. Za aplikacije platna morate ga dodati u rješenje da biste ga pribavljali. Pogledajte članak Kako prepoznati aplikaciju u testnu tarifu
appId GUID Nije obavezno. ID aplikacije koja će se pokrenuti. Obavezno i koristi se samo appLogicalName kada nije prisutno. ID aplikacije smije se koristiti samo za aplikacije platna koje nisu u rješenju. Pogledajte članak Kako prepoznati aplikaciju u testnu tarifu
networkRequestMocks NetworkRequestMocks Nije obavezno. Definira modele mrežnih zahtjeva potrebne za testiranje.
onTestCaseComplete niz Nije obavezno. Definira korake koje je potrebno pokrenuti za svaki testni slučaj u paketu nakon završetka izvršavanja slučaja.
onTestCaseStart niz Nije obavezno. Definira korake koje je potrebno pokrenuti za svaki testni slučaj u paketu prije početka izvršavanja slučaja.
onTestSuiteComplete niz Nije obavezno. Definira korake koje je potrebno pokrenuti nakon dovršetka izvršavanja paketa.
testSuiteDescription niz Nije obavezno. Dodatne informacije opisuju funkcije paketa za testiranje.

Kako prepoznati aplikaciju u planu testiranja

Morate postaviti ili da appLogicalName biste appId prepoznali aplikaciju. Koje koristite ovisi o tome je li aplikacija definirana u rješenju.

Kada definirate aplikacije u sklopu rješenja, testovi ostaju prijenosni u različitim okruženjima. Postavite appLogicalName svojstvo da biste naznačili da se aplikacija temelji na rješenju.

Da biste pronašli logički naziv aplikacije:

  1. Otvorite rješenje koje sadrži aplikaciju u aplikaciji Power Apps
  2. Na popisu koristite ime ( ne zaslonsko ime). Vrijednost naziva obuhvaća prefiks prilagodbe za izdavača rješenja.

Samostalne aplikacije

Kada aplikacija nije definirana u rješenju, morate koristiti to appId svojstvo.

Da biste pronašli ID aplikacije:

  1. Pronađite aplikaciju na popisu aplikacija Power Apps
  2. Otvorite Pojedinosti i zabilježite GUID ID-a aplikacije

NetworkRequestMocks

Svojstvo Tip Opis
requestURL niz Obvezno. URL zahtjeva koji dobiva lažni odgovor. Prihvaćaju se glob uzorci
responseDataFile niz Obvezno. Tekstna datoteka sa sadržajem lažnih odgovora. Sav tekst u ovoj datoteci čita se kao odgovor
headers polje Nije obavezno. Popis polja zaglavlja u zahtjevu u obliku polja [fieldName: fieldValue]
method niz Nije obavezno. Način zahtjeva (GET, POST itd.)
requestBodyFile niz Nije obavezno. Tekstna datoteka s tijelom zahtjeva. Sav tekst u ovoj datoteci čita se kao tijelo zahtjeva

Za neobavezna svojstva, ako nije navedena nijedna vrijednost, usmjeravanje se primjenjuje na sve. Na primjer, ako method ima vrijednost null, šaljemo natrag lažni odgovor bez obzira na to koja je metoda sve dok se druga svojstva podudaraju.

Za aplikacije Sharepoint/Dataverse/Connector i requestURLmethod mogu biti iste za sve zahtjeve. x-ms-request-method a x-ms-request-url u zaglavljima je u tom slučaju potrebno konfigurirati da bi se prepoznali različiti zahtjevi.

Probna slova

Svojstvo Tip Opis
testCaseName niz Obvezno. Naziv testnog slučaja koji se koristi za izvješćivanje o uspjehu i neuspjehu
testSteps TestSteps (TestSteps) Obvezno. Skup funkcija dodatka Power Fx kojima se opisuju koraci potrebni za izvođenje testnog slučaja. Pogledajte primjer TestSteps
testCaseDescription Ne Nije obavezno. Dodatne informacije opisuju funkciju testnog slučaja

TestSteps (TestSteps)

  • TestSteps može koristiti postojeće funkcije dodatka Power Fx modula za testiranje ili određene testne funkcije definirane ovim okvirom.
  • Vrijednost bi trebala započinjanje simbolom kanala (|) da bi se omogućili višelineni YAML izrazi nakon kojih slijedi znak jednakosti (=) koji označava da se radi o izrazu Power Fx
  • Funkcije treba odvojiti točkom sa zarezom (;).
  • Komentari se mogu koristiti i započinju dvostrukim znakovima obrnene kose crte (//).

Primjer TestSteps

testCases:
   - testCaseName: Fill in a city name and do the search
   testSteps: |
      = Screenshot("connectorapp_loaded.png");
         SetProperty(TextInput1.Text, "Atlanta");
         Select(Button1);
         Assert(Label4.Text = "You are seeing the mock response", "Validate the output is from the mock");
         Screenshot("connectorapp_end.png");

testSettings

Koristi se za definiranje postavki testova u planu testiranja.

Svojstvo Tip Opis
browserConfigurations BrowserConfiguration[] Obvezno. Popis konfiguracija preglednika koje je potrebno testirati. Potrebno je navesti barem jedan preglednik.
extensionModules stili proširenja Nije obavezno. Sadrži podatke o proširenjima za omogućivanje.
filePath niz Nije obavezno. Put datoteke do zasebne yaml datoteke sa svim testnim postavkama. Ako se to naveli, nadjačat će sve postavke testa u planu testiranja.
headless boolean Nije obavezno. Zadano je true. Ako je postavljeno na false, preglednik će se prikazati tijekom izvršavanja testa.
locale niz Nije obavezno. Sintaksa regionalne sheme/kulture u kojoj su napisani testni slučajevi ili testni koraci. Ako nije navedeno, po CultureInfo.CurrentCulture zadanom se koristi za regionalnu shemu za raščlanjivanje testnih koraka. Pogledajte Pitanja regije i jezika
recordVideo boolean Nije obavezno. Zadana je vrijednost neistinito. Ako je postavljeno na true, snima se videosnimka testa.
timeout cijeli broj Nije obavezno. Vrijednost prekoračenja vremena u milisekundama. Zadana je vrijednost 30 000 milisekundi (30s). Ako bilo koja operacija traje dulje od ograničenja prekoračenja vremena, test se završava kvarom.
powerFxTestTypes name value par Nije obavezno. Popis vrsta naziva i definicija vrste Power Fx. Pogledajte primjer powerFxTestTypes
testFunctions description code par Nije obavezno. Popis opisa i definicija funkcija Power Fx. Pogledajte primjer funkcije testFunctions

stili proširenja

Sadrži podatke o proširenjima za omogućivanje.

Svojstvo Tip Opis
enable bool Jesu li moduli proširenja omogućeni ili ne.
allowPowerFxNamespaces popis Popis prostora naziva za PowerFx koje želite omogućiti.
parameters parovi vrijednosti ključa Svojstva s vrijednostima za kontrolu modula proširenja. Trenutno je za to valjan samo enableDataverseFunctions Booleov parametar.

U ovom se primjeru pokazuje kako omogućiti prostor za naziv značajke PowerFx Preview :

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview

Saznajte više o funkcijama pretpregleda

Pitanja regije i jezika

Modul za testiranje podržava različite jezične i regionalne postavke, kao što su decimalni razdjelnici i razdjelnici popisa. Svojstvo testSettings.locale upravlja tim ponašanjem. Dodatne informacije potražite u članku Globalna podrška za Microsoft Power Fx.

Pogledajte ove ogledne konfiguracije na PowerApps-TestEngine GitHub:

powerFxTestTypes example

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

U ovom se primjeru pokazuje kako definirati prilagođene vrste dodatka Power Fx za upotrebu u testni slučajevima. Vrsta ControlName se definira kao zapis s jednim poljem, Text a Options vrsta je definirana kao tablica zapisa, svaka NameTextValue koja sadrži polje vrste i polje vrste .Number Prilagođene vrste mogu se koristiti za stvaranje složenih i specifičnih testnih scenarija, što poboljšava fleksibilnost i snagu definicija testa.

testFunctions example

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

Ovi primjeri testnih funkcija pokazuju kako definirati prilagođene power fx funkcije koje će se koristiti u testni slučajevima. Funkcija WaitUntilVisible koristi DOM birač za čekanje da se određena kontrola vidi pomoću akcija Playwright. Funkcija GetOptions dohvaća mogućnosti za navedenu kontrolu iz aplikacije utemeljene na modelu (MDA) koja koristi kontrolu Power Fx. Te prilagođene funkcije poboljšavaju fleksibilnost i snagu definicija testa, što omogućuje složenije i specifičnije testne scenarije.

Konfiguracija preglednika

Svaki testSettings zahtijeva barem jedan BrowserConfiguration.

Svojstvo Tip Opis
browser niz Obvezno. Preglednik koji će se pokrenuti prilikom testiranja. Mora odgovarati preglednicima koje podržava Playwright.
device niz Nije obavezno. Uređaj koji će se emulirati prilikom pokretanja preglednika. Mora odgovarati uređajima koje podržava Playwright
screenHeight cijeli broj Nije obavezno. Visina zaslona koji će se koristiti prilikom pokretanja preglednika. Ako je navedeno, screenWidth također se mora navesti.
screenWidth cijeli broj Nije obavezno. Širina zaslona koji će se koristiti prilikom pokretanja preglednika. Ako je navedeno, screenHeight također se mora navesti.

environmentVariables

Kao vrijednosti zaštite okoliša možete pohraniti različite vrste vrijednosti, no najčešći je slučaj pohranjivanje podataka o vjerodajnicama s popisom korisnika.

korisnici

Da bi se vjerodajnice pohranjivati na siguran način, definicija testa poziva korisnike koji koriste personaName. Pohrana vjerodajnica u datotekama plana testiranja nije podržana.

Primjer:

environmentVariables:
    - users:
        - personaName: "User1"
          emailKey: "user1Email"
        - personaName: "User2"
          emailKey: "user2Email"

Koristi personaName se kao dio definicije testa da bi se naznačio kao kojeg korisnika treba pokrenuti test.

Podržani mehanizmi pohrane vjerodajnica

Da biste pohranili vjerodajnice kao varijable okruženja, možete ih postaviti na sljedeći način:

# In PowerShell - replace variableName and variableValue with the correct values
$env:variableName = "variableValue"

U SERVISU YAML potrebno je definirati dva svojstva da bi se naznačilo da su vjerodajnice tog korisnika pohranjene u varijablama okruženja:

  • emailKey: varijabla okruženja koja se koristi za pohranu korisnikova e-pošte.

Primjer servisa YAML:

    - personaName: "User1"
      emailKey: "user1Email"

Primjer ljuske PowerShell za postavljanje korisničkih vjerodajnica na temelju servisa YAML:

$env:user1Email = "someone@example.com"

Pogledajte

Pregled testnog modula za Power Apps (pretpregled)
Power Apps Test Engine Power Fx funkcije (pretpregled)