Megosztás:


Power Apps Test Engine YAML formátum (előzetes verzió)

Megjegyzés:

Az előzetes funkciókat nem célszerű termelési környezetben használni, és előfordulhat, hogy korlátozott funkcionalitással rendelkeznek. Ezek a funkciók a hivatalos kiadás előtt érhetők el, így az ügyfelek korai hozzáférést kaphatnak, és visszajelzést kaphatnak.

A tesztek a YAML-ben vannak definiálva, ugyanazokkal az irányelvekkel, mint a Power Fx. További információ a Power Fx YAML-képlet nyelvtanáról.

Részletes példákért tekintse meg a PowerApps-TestEngine/samples mappát.

YAML-sémadefiníciók

Ingatlan Description
testSuite Egy tesztcsomagot határoz meg, a tesztcsomag teszteseteit és a tesztcsomagra vonatkozó konfigurációt
testSettings A több tesztesetben újra felhasználható tesztcsomag beállításait határozza meg
environmentVariables Olyan változókat definiál, amelyek változhatnak, mivel az alkalmazás különböző környezetekben van portálva

testSuite

Egy teszt definiálására szolgál.

Ingatlan Típus Description
persona karakterlánc Szükséges. A teszt végrehajtásához bejelentkezett felhasználó. Meg kell egyeznie a Felhasználók szakaszban felsorolt személynek.
testCases TestCases Szükséges. A tesztcsomagban található teszteseteket határozza meg. A tesztcsomagokban található tesztesetek egymás után futnak. Az alkalmazás állapota a csomag összes tesztesetében megmarad.
testSuiteName karakterlánc Szükséges. A tesztcsomag neve.
appLogicalName karakterlánc Opcionális. Az elindítandó alkalmazás logikai neve. Az oldatból beszerezhető. Vászonalapú alkalmazások esetén hozzá kell adnia egy megoldáshoz a beszerzéséhez. Lásd : Az alkalmazás azonosítása a teszttervben
appId GUID Opcionális. Az elindítandó alkalmazás azonosítója. Csak akkor szükséges és használható, ha appLogicalName nincs jelen. Az alkalmazásazonosító csak olyan vászonalapú alkalmazásokhoz használható, amelyek nem szerepelnek a megoldásban. Lásd : Az alkalmazás azonosítása a teszttervben
networkRequestMocks NetworkRequestMocks Opcionális. Meghatározza a teszthez szükséges hálózati kéréseket.
onTestCaseComplete karakterlánc Opcionális. Meghatározza azokat a lépéseket, amelyeket egy csomag minden tesztesetéhez aktiválni kell az eset végrehajtása után.
onTestCaseStart karakterlánc Opcionális. Meghatározza azokat a lépéseket, amelyeket egy csomag minden tesztesetéhez aktiválni kell az eset végrehajtása előtt.
onTestSuiteComplete karakterlánc Opcionális. Meghatározza azokat a lépéseket, amelyeket a csomag végrehajtása után aktiválni kell.
testSuiteDescription karakterlánc Opcionális. További információk a tesztcsomag működését ismertetik.

Alkalmazás azonosítása a teszttervben

Be kell állítania vagy appLogicalNameappId azonosítania kell az alkalmazást. A használat attól függ, hogy az alkalmazás egy megoldáson belül van-e definiálva.

Ha az alkalmazásokat megoldásokon belül definiálja, a tesztek hordozhatóak maradnak a környezetekben. Állítsa be a appLogicalName tulajdonságot, hogy jelezze, hogy az alkalmazás megoldásalapú.

Az alkalmazás logikai nevének megkeresése:

  1. Az alkalmazást tartalmazó megoldás megnyitása a Power Appsben
  2. Használja a nevet (nem megjelenítendő nevet) a listában. A névérték tartalmazza a megoldás közzétevőjének testreszabási előtagát.

Önálló alkalmazások

Ha az alkalmazás nincs definiálva egy megoldáson belül, a tulajdonságot kell használnia appId .

Az alkalmazás azonosítójának megkeresése:

  1. Az alkalmazás megkeresése a Power Apps listában
  2. Nyissa meg a Részleteket, és jegyezze fel az alkalmazásazonosító GUID azonosítóját

NetworkRequestMocks

Ingatlan Típus Description
requestURL karakterlánc Szükséges. A kérés URL-címe, amely utánzatválaszt kap. A Glob-minták elfogadottak
responseDataFile karakterlánc Szükséges. Egy szöveges fájl a modellválasz tartalmával. A fájl minden szövegét válaszként olvassa be a rendszer
headers tömb Opcionális. A kérelem fejlécmezőinek listája [fieldName: fieldValue] formátumban
method karakterlánc Opcionális. A kérelem metódusa (GET, POST stb.)
requestBodyFile karakterlánc Opcionális. Szövegfájl a kérelem törzsével. A fájlban lévő összes szöveg a kérelem törzseként van beolvasva

Választható tulajdonságok esetén, ha nincs megadva érték, az útválasztás mindenkire érvényes. Ha például method null, akkor a modell válaszát visszaküldjük, bármilyen metódus is legyen, amíg a többi tulajdonság megegyezik.

SharePoint-/Dataverse-/Connector-alkalmazások esetén, requestURL és method minden kérés esetében ugyanaz lehet. x-ms-request-method a x-ms-request-url fejléceket pedig konfigurálni kell ebben az esetben a különböző kérések azonosításához.

TestCases

Ingatlan Típus Description
testCaseName karakterlánc Szükséges. A sikeres és sikertelen jelentéskészítéshez használt teszteset neve
testSteps TestSteps Szükséges. Power Fx-függvények készlete, amelyek a teszteset végrehajtásához szükséges lépéseket írják le. Lásd: TestSteps-példa
testCaseDescription Nem Opcionális. További információk a teszteset működését ismertetik

TestSteps

  • TestSteps bármilyen meglévő Power Fx-tesztmotor-függvényt vagy a keretrendszer által meghatározott meghatározott tesztfüggvényeket használhat.
  • Az értéknek egy csőszimbólummal (|) kell kezdődnie, amely lehetővé teszi a többsoros YAML-kifejezések, majd egy egyenlőségjel (=) jellel, amely azt jelzi, hogy ez egy Power Fx-kifejezés
  • A függvényeket pontosvesszővel (;pontosvesszővel) kell elválasztani.
  • A megjegyzések használhatók, és dupla fordított perjel karakterekkel (//) kezdődnek.

Példa a TestSteps használatára

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

A teszttervben szereplő tesztek beállításainak meghatározására szolgál.

Ingatlan Típus Description
browserConfigurations BrowserConfiguration[] Szükséges. A tesztelni kívánt böngészőkonfigurációk listája. Legalább egy böngészőt meg kell adni.
extensionModules extensionModules Opcionális. Az engedélyezendő bővítményekről tartalmaz adatokat.
filePath karakterlánc Opcionális. Egy külön yaml-fájl elérési útja az összes tesztbeállítással. Ha meg van adva, az felülírja a tesztterv összes tesztbeállítását.
headless Boolean Opcionális. Alapértelmezett érték: true (igaz). Ha hamis értékre van állítva, a böngésző megjelenik a teszt végrehajtása során.
locale karakterlánc Opcionális. A területi/kulturális szintaxis, amelyben a tesztelési esetek vagy a tesztelési lépések meg vannak írva. Ha nincs meghatározva, CultureInfo.CurrentCulture a rendszer alapértelmezés szerint a területi beállításhoz használja a tesztelési lépések elemzéséhez. Tekintse meg a régióval és a nyelvvel kapcsolatos szempontokat
recordVideo Boolean Opcionális. Az alapértelmezett érték false. Ha igaz értékre van állítva, a rendszer videofelvételt készít a tesztről.
timeout egész szám Opcionális. Időtúllépési érték ezredmásodpercben. Az alapértelmezett érték 30 000 ezredmásodperc (30-as). Ha egy művelet az időtúllépési korlátnál hosszabb időt vesz igénybe, a teszt sikertelen lesz.
powerFxTestTypes name value pár Opcionális. A típusnév és a Power Fx-típusdefiníciók listája. Lásd a powerFxTestTypes példát
testFunctions description code pár Opcionális. Leírások és Power Fx-függvénydefiníciók listája. Lásd a testFunctions példát

extensionModules

Az engedélyezendő bővítményekről tartalmaz adatokat.

Ingatlan Típus Description
enable bool Azt jelzi, hogy a bővítménymodulok engedélyezve vannak-e.
allowPowerFxNamespaces list Az engedélyezni kívánt PowerFx-névterek listája.
parameters kulcsérték párok Tulajdonságok a bővítménymodulok vezérléséhez használt értékekkel. Jelenleg csak a logikai enableDataverseFunctions paraméter érvényes erre.

Ez a példa bemutatja, hogyan engedélyezheti a PowerFx-névteret Preview :

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview

További információ az előzetes verziójú függvényekről

Régió- és nyelvhasználati szempontok

A Tesztmotor különböző nyelvi és regionális beállításokat támogat, például tizedesjegyeket és listaelválasztókat. A testSettings.locale tulajdonság szabályozza ezeket a viselkedéseket. További információ: Globális támogatás a Microsoft Power Fx-ben.

Tekintse meg ezeket a mintakonfigurációkat a PowerApps-TestEngine GitHub-adattárban:

powerFxTestTypes példa

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

Ez a példa bemutatja, hogyan definiálhat egyéni Power Fx-típusokat a tesztesetekben való használatra. A ControlName típus egyetlen Text mezővel rendelkező rekordként van definiálva, míg a Options típus rekordtáblaként van definiálva, amelyek mindegyike típusmezőt NameText és típusmezőt ValueNumbertartalmaz. Az egyéni típusok összetettebb és konkrétabb tesztforgatókönyvek létrehozására használhatók, ami növeli a tesztdefiníciók rugalmasságát és teljesítményét.

példa a testFunctions használatára

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

Ezek a tesztfüggvény-példák bemutatják, hogyan definiálhat egyéni Power Fx-függvényeket a tesztesetekben való használatra. A WaitUntilVisible függvény DOM-választóval várja meg, amíg egy adott vezérlőelem látható lesz, a Playwright-műveletek használatával. A GetOptions függvény a Power Fx-vezérlőt használó modellalapú alkalmazásból (MDA) kéri le egy adott vezérlő beállításait. Ezek az egyéni függvények növelik a tesztdefiníciók rugalmasságát és teljesítményét, így összetettebb és konkrétabb tesztforgatókönyveket is lehetővé tesz.

BrowserConfiguration

Minden testSettingshoz legalább egy BrowserConfigurationszükséges.

Ingatlan Típus Description
browser karakterlánc Szükséges. A teszteléskor elindítandó böngésző. Meg kell egyeznie a Playwright által támogatott böngészőkkel.
device karakterlánc Opcionális. A böngésző indításakor emulálni kívánt eszköz. Meg kell egyeznie a Playwright által támogatott eszközökkel
screenHeight egész szám Opcionális. A böngésző indításakor használni kívánt képernyő magassága. Ha meg van adva, screenWidth azt is meg kell adni.
screenWidth egész szám Opcionális. A böngésző indításakor használni kívánt képernyő szélessége. Ha meg van adva, screenHeight azt is meg kell adni.

environmentVariables

A különböző típusú értékeket környezeti értékekként tárolhatja, de a leggyakoribb eset a hitelesítő adatok tárolása a felhasználók listájával.

users

A hitelesítő adatok biztonságos tárolása érdekében a tesztdefiníció a felhasználókra hivatkozik.personaName A hitelesítő adatok teszttervfájlokban való tárolása nem támogatott.

Példa:

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

A personaName tesztdefiníció részeként azt jelzi, hogy milyen felhasználóként kell futtatni a tesztet.

Támogatott hitelesítő adatok tárolási mechanizmusai

A hitelesítő adatok környezeti változókként való tárolásához az alábbiak szerint állíthatja be őket:

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

A YAML-ben két tulajdonságot kell definiálni annak jelzéséhez, hogy a felhasználó hitelesítő adatai környezeti változókban vannak tárolva:

  • emailKey: A felhasználó e-mailjeinek tárolására használt környezeti változó.

Példa YAML:

    - personaName: "User1"
      emailKey: "user1Email"

Példa a PowerShellre a felhasználói hitelesítő adatok YAML-alapú beállításához:

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

Lásd még

A Power Apps tesztmotor áttekintése (előzetes verzió)
Power Apps– Tesztmotor – Power Fx-függvények (előzetes verzió)