Power Apps oblika yaml mehanizma za preskušanje (zastarela)

opomba,

Test Engine je zastarel in bo odstranjen v prihodnji izdaji. Uporabite Power Platform Playwright vzorce za zmogljivosti avtomatizacije testiranja v Power Platform in Dynamics 365 storitvah.

Preskusi so določeni v yaml po istih navodilih kot Power Fx. Preberite več o slovnici formul Power Fx YAML.

Za podrobne primere si oglejte mapo PowerApps-TestEngine/samples .

Definicije sheme YAML

Lastnost Description
testSuite Določi eno preskusno zbirko, preskusne primere v zbirki preskusov in konfiguracijo, ki je značilna za preskusno zbirko.
testSettings Določi nastavitve za preskusno zbirko, ki se znova uporabi v več preskusnih primerih
environmentVariables Določi spremenljivke, ki bi se lahko spremenile, ko se aplikacija prenašanje v različnih okoljih

testSuite

Uporablja se za določanje enega preskusa.

Lastnost Tip Description
persona niz Obvezno. Uporabnik, ki je prijavljen za izvedbo preskusa. Ujemati se mora z osebo, navedeno v razdelku Uporabniki.
testCases TestNe omara Obvezno. Določi preskusne primere v zbirki preskusov. Preskusni primeri v preskusnih zbirkah se izvajajo zaporedno. Stanje aplikacije je ohranjeno v vseh preskusnih primerih v zbirki.
testSuiteName niz Obvezno. Ime preskusne zbirke.
appLogicalName niz Izbirno. Logično ime aplikacije, ki bo zagnana. Pridobite ga lahko iz raztopine. Za aplikacije na platnu ga morate dodati rešitvi, da jo pridobite. Oglejte si Kako prepoznati svojo aplikacijo v načrtu preskusa
appId Guid Izbirno. ID aplikacije, ki bo zagnana. Zahtevano in uporabljeno le appLogicalName takrat, ko ni prisoten. ID aplikacije uporabite le za aplikacije na platnu, ki niso v rešitvi. Oglejte si Kako prepoznati svojo aplikacijo v načrtu preskusa
networkRequestMocks NetworkRequestMocks Izbirno. Določi modele omrežnih zahtev, ki so potrebne za preskus.
onTestCaseComplete niz Izbirno. Določi korake, ki jih je treba sprožiti za vsak preskusni primer v zbirki, ko se primer dokonča.
onTestCaseStart niz Izbirno. Določi korake, ki jih je treba sprožiti za vsak preskusni primer v zbirki, preden se primer začne izvesti.
onTestSuiteComplete niz Izbirno. Določi korake, ki jih je treba sprožiti, ko se zbirka konča z izvajanjem.
testSuiteDescription niz Izbirno. Dodatne informacije opisujejo, kaj naredi zbirka preskusov.

Kako prepoznati svojo aplikacijo v načrtu preskusa

Nastaviti morate aplikacijo appLogicalName ali appId jo prepoznati. To, kar uporabljate, je odvisno od tega, ali je vaša aplikacija določena v rešitvi.

Ko določite aplikacije v rešitvah, bodo vaši preskusi ostali prenosni v različnih okoljih. Nastavite lastnost appLogicalName , ki označuje, da aplikacija temelji na rešitvi.

Če želite poiskati logično ime aplikacije:

  1. Odprite rešitev, ki vsebuje program, v Power Apps
  2. Uporabite ime (ne prikazano ime) na seznamu. Vrednost imena vključuje predpono prilagoditve za izdajatelja rešitve.

Samostojne aplikacije

Če vaša aplikacija ni določena v rešitvi, morate uporabiti lastnost appId .

ID aplikacije poiščete tako:

  1. Poiščite aplikacijo na Power Apps strani
  2. Odpiranje podrobnosti in beleženje GUID-a ID-ja programa

NetworkRequestMocks

Lastnost Tip Description
requestURL niz Obvezno. URL zahteve, ki dobi posmehen odgovor. Glob vzorci so sprejeti
responseDataFile niz Obvezno. Besedilna datoteka z vsebino odziva na model. Celotno besedilo v tej datoteki je prebrano kot odgovor
headers polje Izbirno. Seznam polj z glavo v zahtevi v obliki zapisa [fieldName: fieldValue]
method niz Izbirno. Način zahteve (GET, POST itd.)
requestBodyFile niz Izbirno. Besedilna datoteka s telom zahteve. Celotno besedilo v tej datoteki je prebrano kot telo zahteve

Če za izbirne lastnosti ni določena nobena vrednost, usmerjanje velja za vse. Če je na primer vrednost method »null«, pošljemo odgovor »mock« ne glede na to, katero metodo uporabljate, dokler se vse druge lastnosti ujemajo.

Za sharepoint/Dataverse/Connector aplikacije requestURLmethod in so lahko enake za vse zahteve. x-ms-request-method in x-ms-request-url v glavah bi bilo v tem primeru treba konfigurirati za prepoznavanje različnih zahtev.

TestNe omara

Lastnost Tip Description
testCaseName niz Obvezno. Ime testnega primera, ki se uporablja pri poročanju o uspehu in neuspehu
testSteps TestSteps (Preizkusi) Obvezno. Nabor funkcij Power Fx, ki opisuje korake, potrebne za izvedbo testnega primera. Oglejte si primer TestSteps
testCaseDescription Ne Izbirno. Dodatne informacije opisujejo, kaj naredi preskusni primer

TestSteps (Preizkusi)

  • TestSteps lahko uporablja katero koli obstoječo funkcijo Power Fx za preskusni mehanizem ali določene preskusne funkcije , določene s tem ogrodjem.
  • Vrednost se mora začeti s simbolom cevi (|), ki omogoča izraze YAML z več vrsticami, ki jim sledi enačaj (=), kar pomeni, da gre za izraz Power Fx.
  • Funkcije morajo biti ločene s podpičjem (;).
  • Pripombe je mogoče uporabiti in začeti z dvojnimi znaki poševnico nazaj (//).

TestSteps example

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

Uporablja se za določanje nastavitev za preskuse v načrtu preskusov.

Lastnost Tip Description
browserConfigurations Konfiguracija brskalnika[] Obvezno. Seznam konfiguracij brskalnika, ki jih želite preskusiti. Navesti morate vsaj en brskalnik.
extensionModules extensionModules Izbirno. Vsebuje podatke o razširitvah, ki jih želite omogočiti.
filePath niz Izbirno. Pot datoteke do ločene datoteke yaml z vsemi nastavitvami preskusa. Če je na voljo, preglasi vse nastavitve preskusa v načrtu preskusa.
headless boolean Izbirno. Privzeta vrednost je »true«. Če je nastavljeno na »false«, se med izvajanjem preskusa prikaže brskalnik.
locale niz Izbirno. Sintaksa območnih nastavitev/kulture, v kateri so zapisani preskusni primeri ali preskusni koraki. Če ni navedeno, CultureInfo.CurrentCulture se privzeto uporablja za območne nastavitve za razčlenjevanje preskusnih korakov. Glejte Pomisleki glede regije in jezika
recordVideo boolean Izbirno. Privzeto je false. Če je nastavljeno na »true«, se zajame video posnetek preskusa.
timeout celo število Izbirno. Vrednost časovne omejitve v milisekundah. Privzeta vrednost je 30.000 milisekund (30.000). Če katera koli operacija traja dlje kot časovna omejitev, se preskus konča z napako.
powerFxTestTypes name value par Izbirno. Seznam z imenom vrste in definicijami vrste Power Fx. Oglejte si primer »powerFxTestTypes«
testFunctions description code par Izbirno. Seznam opisov in definicij funkcij Power Fx. Oglejte si primer testFunctions

extensionModules

Vsebuje podatke o razširitvah, ki jih želite omogočiti.

Lastnost Tip Description
enable Bool Ne glede na to, ali so razširitveni moduli omogočeni ali ne.
allowPowerFxNamespaces seznam Seznam imenskih prostora PowerFx, ki jih želite omogočiti.
parameters key value pairs Lastnosti z vrednostmi za nadzor modulov pripon. Trenutno je za to veljaven enableDataverseFunctions le logični parameter.

V tem primeru je prikazano, kako omogočite imenski prostor PowerFx Preview :

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview

Več informacij o funkcijah predogleda

Pomisleki glede regije in jezika

Mehanizem za preskušanje podpira različne jezikovne in območne nastavitve, kot so decimalna ločila in ločila v seznamu. Lastnost testSettings.locale nadzira to vedenje. Če želite več informacij, glejte Global podpora v Microsoft Power Fx.

Oglejte si te vzorčne konfiguracije v PowerApps-TestEngine GitHub skladišče:

powerFxTestTypes example

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

V tem primeru je prikazano, kako določite vrste Power Fx po meri za uporabo v preskusnih primerih. Vrsta ControlName je določena kot zapis Text z enim poljem, Options medtem ko je vrsta določena kot tabela zapisov, NameTextValue vsak pa vsebuje polje vrste in polje vrste .Number Z vrstami po meri lahko ustvarite bolj zapletene in specifične preskusne scenarije ter tako povečate prilagodljivost in moč definicij preskusa.

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

Ti primeri preskusnih funkcij prikazujejo, kako določiti funkcije Power Fx po meri za uporabo v preskusnih primerih. Funkcija WaitUntilVisible uporablja izbirnik DOM, da z dejanji »Playwright« počaka, dokler ni viden določen kontrolnik. Funkcija GetOptions pridobi možnosti za določen kontrolnik iz aplikacije, ki temelji na modelu ( MDA), pri tem pa uporabi kontrolnik Power Fx. Te funkcije po meri izboljšajo prilagodljivost in moč preskusnih definicij, kar omogoča bolj zapletene in specifične preskusne scenarije.

Konfiguracija brskalnika

Vsaka testSettings zahteva vsaj eno BrowserConfiguration.

Lastnost Tip Description
browser niz Obvezno. Brskalnik, ki ga želite zagnati med preskušanjem. Se mora ujemati z brskalniki, ki jih podpira Playwright.
device niz Izbirno. Naprava, ki jo želite posnemati pri zagonu brskalnika. Se mora ujemati z napravami, ki jih podpira Playwright
screenHeight celo število Izbirno. Višina zaslona, ki ga želite uporabiti pri zagonu brskalnika. Če je navedeno, screenWidth morate navesti tudi to možnost.
screenWidth celo število Izbirno. Širina zaslona, ki ga želite uporabiti pri zagonu brskalnika. Če je navedeno, screenHeight morate navesti tudi to možnost.

environmentVariables

Različne vrste vrednosti lahko shranite kot okoljske vrednosti, vendar se najpogosteje shranjujejo informacije o poverilnicah s seznamom uporabnikov.

Uporabniki

Če se želite prepričati, da so poverilnice shranjene na varen način, se definicija preskusa sklicuje na uporabnike, ki uporabljajo personaName. Shranjevanje poverilnic v datoteke preizkusnega paketa ni podprto.

Primer:

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

Uporablja personaName se kot del definicije preskusa, ki označuje uporabnika, ki bo zagnal preskus.

Podprti mehanizmi shrambe poverilnic

Če želite poverilnice shraniti kot spremenljivke okolja, jih lahko nastavite tako:

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

V storitvi YAML morate določiti dve lastnosti, ki označujeta, da so poverilnice tega uporabnika shranjene v spremenljivkah okolja:

  • emailKey: Spremenljivka okolja, ki se uporablja za shranjevanje uporabnikove e-pošte.

Primer YAML:

    - personaName: "User1"
      emailKey: "user1Email"

Primer ogrodja PowerShell za nastavitev uporabniških poverilnic na podlagi storitve YAML:

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

Glejte tudi

Power Apps pregled preskusnega mehanizma (zastarel)
Power Apps funkcije Power Fx za preskusni mehanizem (zastarele)