Zdieľať cez


Formát YAML pre testovací nástroj Power Apps (Preview)

Poznámka

Funkcie ukážky nie sú určené na produkčné účely a môžu mať obmedzenú funkčnosť. Tieto funkcie sú k dispozícii pred oficiálnym vydaním, aby k nim mohli zákazníci získať rýchly prístup a poskytnúť odozvu.

Testy sú definované v YAML podľa rovnakých pokynov ako v prípade služby Power Fx. Ďalšie informácie o gramatike vzorca YAML v jazyku Power Fx.

Podrobné príklady nájdete v priečinku PowerApps-TestEngine/samples .

Definície schémy YAML

Majetok Description
testSuite Definuje jeden testovací balík, testovacie prípady v testovacom balíku a konfiguráciu špecifickú pre testovací balík.
testSettings Definuje nastavenia pre testovací balík, ktorý sa opätovne používa vo viacerých testovacích prípadoch.
environment (prostredie) Premenné Definuje premenné, ktoré by sa mohli potenciálne zmeniť, keďže aplikácia sa prenáša v rôznych prostrediach.

testSuite

Používa sa na definovanie jedného testu.

Majetok Typ Description
persona reťazec Povinné. Používateľ prihlásený na vykonanie testu. Musí zodpovedať persona uvedenej v časti Používatelia .
testCases TestCases (TestCases) Povinné. Definuje testovacie prípady v testovacom balíku. Testovacie prípady obsiahnuté v testovacích sadách sa spúšťajú postupne. Stav aplikácie sa zachová vo všetkých testovacích prípadoch v balíku.
testSuiteName reťazec Povinné. Názov testovacieho balíka.
appLogicalName reťazec Voliteľné. Logický názov aplikácie, ktorá sa má spustiť. Je možné ho získať z riešenia. Ak chcete získať plátnové aplikácie, musíte ich pridať k riešeniu. Pozrite si tému Identifikácia aplikácie v testovacom pláne
appId GUID Voliteľné. ID aplikácie, ktorá sa má spustiť. Povinné a používané iba vtedy, keď appLogicalName nie je k dispozícii. ID aplikácie by sa malo použiť iba pre aplikácie s plátnom, ktoré nie sú v riešení. Pozrite si tému Identifikácia aplikácie v testovacom pláne
networkRequestMocks NetworkRequestMocks (Siete) Voliteľné. Definuje zosmiešňujúce požiadavky siete, ktoré sú potrebné pre test.
onTestCaseComplete reťazec Voliteľné. Definuje kroky, ktoré je potrebné spustiť pre každý testovací prípad v balíku po dokončení vykonávania prípadu.
onTestCaseStart reťazec Voliteľné. Definuje kroky, ktoré je potrebné spustiť pre každý testovací prípad v balíku ešte predtým, ako sa začne vykonávať prípad.
onTestSuiteComplete reťazec Voliteľné. Definuje kroky, ktoré je potrebné spustiť po dokončení vykonávania balíka.
testSuiteDescription reťazec Voliteľné. Ďalšie informácie popisujú, čo robí testovací balík.

Identifikácia aplikácie v testovacom pláne

Aplikáciu je potrebné nastaviť appLogicalName alebo appId identifikovať. To, ktoré použijete, závisí od toho, či je vaša aplikácia definovaná v rámci riešenia.

Pri definovaní aplikácií v rámci riešení zostávajú vaše testy prenosné vo všetkých prostrediach. Nastavte vlastnosť na appLogicalName indikovanie, že aplikácia je založená na riešení.

Vyhľadanie logického názvu aplikácie:

  1. Otvoriť riešenie, ktoré obsahuje vašu aplikáciu v službe Power Apps
  2. Použite názov (nie zobrazovaný názov) v zozname. Hodnota názvu obsahuje predponu prispôsobenia pre vydavateľa riešenia.

Samostatné aplikácie

Ak vaša aplikácia nie je definovaná v rámci riešenia, musíte použiť appId vlastnosť .

Vyhľadanie ID aplikácie:

  1. Vyhľadajte aplikáciu v zozname služby Power Apps
  2. Otvorte podrobnosti a všimnite si identifikátor GUID ID aplikácie

NetworkRequestMocks (Siete)

Majetok Typ Description
requestURL reťazec Povinné. URL adresa požiadavky, ktorá získa zosmiešňovanie odpovede. Glob vzory sú prijímané
responseDataFile reťazec Povinné. Textový súbor so zosmiešňovaným obsahom odpovede. Všetok text v tomto súbore sa prečíta ako odpoveď
headers pole Voliteľné. Zoznam polí hlavičky v žiadosti vo formáte [fieldName: fieldValue]
method reťazec Voliteľné. Metóda požiadavky (GET, POST atď.)
requestBodyFile reťazec Voliteľné. Textový súbor s textom požiadavky. Všetok text v tomto súbore sa číta ako text požiadavky

Ak nie je zadaná žiadna hodnota, smerovanie sa vzťahuje na všetky. Ak má napríklad method hodnota null, odošleme späť zosmiešňovanú odpoveď bez ohľadu na metódu, pokiaľ sa ostatné vlastnosti zhodujú.

V prípade aplikácií requestURL SharePoint/Dataverse/Connector a method môžu byť rovnaké pre všetky požiadavky. x-ms-request-method a x-ms-request-url v hlavičkách môže byť potrebné nakonfigurovať v takom prípade na identifikáciu rôznych požiadaviek.

TestCases (TestCases)

Majetok Typ Description
testCaseName reťazec Povinné. Názov testovacieho prípadu použitého pri vykazovaní úspechu a zlyhania
testSteps Testovacie moduly Povinné. Množina funkcií služby Power Fx s popisom krokov potrebných na vykonanie testovacieho prípadu. Pozrite si príklad Testovacie moduly.
testCaseDescription Nie Voliteľné. Ďalšie informácie popisujú, na čo sa testovací prípad vykonáva

Testovacie moduly

  • TestSteps môžete použiť všetky existujúce funkcie jazyka Power FX Test Engine alebo konkrétne testovacie funkcie definované týmto rámcom.
  • Hodnota by mala začínať symbolom presmerovania (|), aby bolo možné použiť viaclineové výrazy YAML, za ktorými nasleduje znamienko rovnosti (=), ktoré indikuje, že ide o výraz jazyka Power Fx.
  • Funkcie by mali byť oddelené bodkočiarkou (;).
  • Komentáre možno použiť a mali by sa začínať dvojitými znakmi opačnej lomky (//).

Príklad testovacích postupov

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

Používa sa na definovanie nastavení pre testy v testovacom pláne.

Majetok Typ Description
browserConfigurations Konfigurácia prehliadača[] Povinné. Zoznam konfigurácií prehliadača, ktoré sa majú testovať. Musí byť zadaný aspoň jeden prehliadač.
extensionModules extensionModules Voliteľné. Obsahuje údaje o rozšíreniach, ktoré chcete povoliť.
filePath reťazec Voliteľné. Cesta k súboru do samostatného súboru yaml so všetkými nastaveniami testu. Ak je zadaná, prepíše všetky nastavenia testu v testovacom pláne.
headless boolean Voliteľné. Predvolená hodnota je „true”. Ak je nastavená hodnota false, prehliadač sa zobrazí počas spúšťania testu.
locale reťazec Voliteľné. Syntax miestneho nastavenia/jazykovej verzie, v ktorej sú napísané testovacie prípady alebo testovacie kroky. Ak nie je táto hodnota zadaná, CultureInfo.CurrentCulture použije sa v predvolenom nastavení pre miestne nastavenie na analýzu testovacích krokov. Dôležité informácie o oblastiach a jazykoch
recordVideo boolean Voliteľné. Predvolená hodnota je False. Ak je hodnota nastavená na hodnotu true, zaznamená sa video z testu.
timeout typ Integer Voliteľné. Hodnota časového limitu v milisekundách. Predvolená hodnota je 30 000 milisekúnd (30s). Ak trvá akákoľvek operácia dlhšie, ako je limit časového limitu, test sa ukončí ako zlyhanie.
powerFxTestTypes name value pár Voliteľné. Zoznam názvov typov a definícií typu služby Power Fx. Pozrite si príklad powerFxTestTypes
testFunctions description code pár Voliteľné. Zoznam popisov a definícií funkcie služby Power Fx. Pozrite si príklad funkcie testFunctions.

extensionModules

Obsahuje údaje o rozšíreniach, ktoré chcete povoliť.

Majetok Typ Description
enable bool Určuje, či sú povolené moduly rozšírenia alebo nie.
allowPowerFxNamespaces zoznam Zoznam priestorov názvov služby PowerFx, ktoré sa majú povoliť.
parameters páry kľúčovej hodnoty Vlastnosti s hodnotami na ovládanie modulov rozšírenia. V súčasnosti je pre tento parameter platný iba booleovský enableDataverseFunctions parameter.

Tento príklad ukazuje, ako povoliť priestor názvov služby PowerFx Preview :

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview

Ďalšie informácie o funkciách verzie Preview

Dôležité informácie o oblasti a jazyku

Testovací nástroj podporuje rôzne nastavenia jazyka a oblasti, ako sú napríklad desatinné miesta a oddeľovače zoznamov. Tieto testSettings.locale správanie ovláda vlastnosť . Ďalšie informácie nájdete v téme Globálna podpora v službe Microsoft Power Fx.

Pozrite si tieto vzorové konfigurácie v odkladacom priestorePowerApps-TestEngine GitHub:

príklad powerFxTestTypes

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

Tento príklad ukazuje, ako definovať vlastné typy jazyka Power Fx na použitie v testovacích prípadoch. Typ ControlName je definovaný ako záznam s jedným Text poľom, zatiaľ čo Options typ je definovaný ako tabuľka záznamov, z ktorých každý obsahuje Name pole typu Text a Value pole typu Number. Vlastné typy možno použiť na vytvorenie zložitejších a konkrétnych testovacích scenárov, čím zvýšite flexibilitu a silu definícií testov.

príklad funkcie testFunctions

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

Tieto príklady testovacích funkcií ukazujú definovanie vlastných funkcií Power Fx na použitie v testovacích prípadoch. Funkcia WaitUntilVisible používa selektor DOM na čakanie, kým sa nezobrazí zadaný ovládací prvok pomocou akcií platformy Playwright. Funkcia GetOptions načíta možnosti pre zadaný ovládací prvok z modelom riadenej aplikácie (MDA) s využitím ovládacieho prvku Power Fx. Tieto vlastné funkcie zlepšujú flexibilitu a silu definícií testov a umožňujú zložitejšie a konkrétnejšie testovacie scenáre.

BrowserConfiguration (Konfigurácia Prehliadača)

Každý testNastavenie vyžaduje aspoň jednu .BrowserConfiguration

Majetok Typ Description
browser reťazec Povinné. Prehliadač, ktorý sa má spustiť pri testovaní. Mal by zodpovedať prehliadačom podporovaným platformy Playwright.
device reťazec Voliteľné. Zariadenie na emuláciu pri spustení prehliadača. Malo by sa zhodovať so zariadeniami podporovanými v knižnicach Playwright
screenHeight typ Integer Voliteľné. Výška obrazovky, ktorá sa má použiť pri spúšťaní prehliadača. Ak je zadaný, screenWidth musí sa zadať aj parameter .
screenWidth typ Integer Voliteľné. Šírka obrazovky, ktorá sa má použiť pri spúšťaní prehliadača. Ak je zadaný, screenHeight musí sa zadať aj parameter .

environment (prostredie) Premenné

Ako hodnoty prostredia môžete ukladať rôzne typy hodnôt, ale najčastejším prípadom je ukladanie informácií o poverení zoznamom používateľov.

Používateľov

Na zabezpečenie bezpečného ukladania poverení sa definícia testu odkazuje na používateľov, ktorí používajú personaName. Ukladanie poverení do súborov testovacieho plánu nie je podporované.

Príklad:

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

Sa personaName používa ako súčasť definície testu na označenie toho, ako má používateľ test spustiť.

Mechanizmy úložiska podporovaných poverení

Ak chcete poverenia uložiť ako premenné prostredia, môžete ich nastaviť takto:

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

V yaml musia byť definované dve vlastnosti, ktoré indikujú, že prihlasovacie údaje tohto používateľa sú uložené v premenných prostredia:

  • emailKey: Premenná prostredia, ktorá sa používa na uloženie e-mailu používateľa.

Príklad YAML:

    - personaName: "User1"
      emailKey: "user1Email"

Príklad prostredia PowerShell na nastavenie poverení používateľa na základe YAML:

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

Pozrite si tiež

Prehľad testovacieho nástroja služby Power Apps (Preview)
Power Apps Funkcie testovacieho enginu (ukážka) Power Fx