Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
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.
Aplikácie založené na riešeniach (odporúča sa)
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:
- Otvoriť riešenie, ktoré obsahuje vašu aplikáciu v službe Power Apps
- 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:
- Vyhľadajte aplikáciu v zozname služby Power Apps
- 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
-
TestStepsmôž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:
- Pre oblasti, ktoré používajú bodkočiarky ako oddeľovače zoznamov
- Pre oblasti, ktoré ako oddeľovače desatinných miest používajú čiarky
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