Sdílet prostřednictvím


Práce s nástrojem Test Studio

V tomto rychlém startu vytvoříte testy pro aplikaci plátna, která se jmenuje Kudos. Můžete také zkoumat a objevovat principy testování, abyste je mohli použít při psaní testů pro vlastní aplikace plátna. Ukázková aplikace Kudos je součástí sady zaměstnaneckých aplikací. Můžete si ji stáhnout v úvodní sadě Možnosti zaměstnanců.

Podívejte se na toto video a zjistěte, jak pracovat s Test Studiem:

Otevření nástroje Test Studio

  1. Přihlaste se do Power Apps

  2. Vytvořte novou aplikaci nebo upravte stávající aplikaci.

  3. Pokud chcete otevřít Test Studio, uložte aplikaci v Power Apps.

    Poznámka

    Aplikace musí být uložená, abyste pro ni mohli začít psát testy.

  4. V levém navigačním podokně vyberte Rozšířené nástroje.

  5. Pokud chcete pro aplikaci otevřít Test Studio, vyberte Otevřít testy. Tato akce otevře Test Studio na nové kartě prohlížeče.

    Otevření nástroje Test Studio.

Poznámka

Testy jsou publikovány a ukládány v balíčku aplikace. Export a import balíčku aplikace plátna do jiného prostředí bude zahrnovat také všechny definice testů, jako jsou testovací sady a testovací případy, které jste vytvořili.

Vytvoření sady testů

V nástroji Test Studio se automaticky vytvoří sada testů a testovací případ. Sady testů slouží k uspořádání testovacích případů. Aplikace může obsahovat jednu nebo více sad testů. Můžete použít výchozí sadu testů a výchozí testovací případ, abyste mohli hned začít testovat, nebo můžete vytvořit novou sadu testů.

  1. Vyberte New Suite (Nová sada).

  2. Aktualizujte část Test suite name and description (Název a popis sady testů) tím, že vyberete pole v hlavní mřížce.

    Nová sada testů.

Vytvoření testovacího případu

V sadě testů můžete vytvořit několik testovacích případů podle toho, jak chcete mít testy uspořádané nebo seskupené. Každý případ může testovat určitou funkci nebo dílčí sadu funkcí vaší aplikace.

  1. Vyberte sadu testů.
  2. V horní nabídce vyberte New Case (Nový případ) a vytvořte nový případ.
  3. Aktualizujte část Test case name and description (Název a popis testovacího případu) tím, že vyberete pole v hlavní mřížce.

Nový testovací případ.

Záznam testovacího případu

Testovací případ se skládá z testovacích kroků, které obsahují akce. K zápisu testovacích akcí se používají výrazy Power Apps, které provedou úkol. K automatickému generování testovacích kroků při interakci s aplikací můžete použít záznamník. Po nahrání záznamu můžete testovací případ aktualizovat, přidávat nové kroky, odstraňovat je a psát testovací kontrolní výrazy, které ověří výsledek testu.

Poznámka

V režimu záznamu se přehraje jenom publikovaná aplikace. Proto než začnete nahrávat testovací případ, publikujte všechny nedávné změny aplikace. Pokud začnete nahrávat záznam bez publikování nedávných změn, přehraje se v režimu záznamu poslední publikovaná verze aplikace.

  1. V horní nabídce vyberte Record (Nahrávání). Tato akce otevře publikovanou aplikaci v režimu záznamu na nové kartě prohlížeče.

    Důležité

    Nahráním stávajícího testovacího případu se přepíšou dosavadní existující testovací kroky.

    Záznam testů.

  2. Pracujte s aplikací. Vaše akce se zaznamenávají v levém podokně.

  3. Jakmile interakce skončí, vyberte Done (Hotovo). Pokud se chcete vrátit do nástroje Test Studio bez záznamu interakce, vyberte Cancel (Zrušit).

    Uložení záznamu.

  4. Testovací kroky a automaticky generované výrazy si můžete prohlédnout v nástroji Test Studio.

  5. V případě potřeby můžete v hlavní mřížce upravit text, který popisuje krok. Když v hlavní mřížce vyberete vzorec, můžete také aktualizovat akce testovacího kroku.

    Aktualizace testovacího případu.

Přidání testovacích kroků a testovacích kontrolních výrazů

Každý testovací případ musí mít očekávaný výsledek. Například v aplikaci Kudos je jedním z očekávaných výsledků při odeslání pochvalného hodnocení (kudo) vytvoření nového záznamu v databázi Microsoft Dataverse (Dataverse). Teď budete aktualizovat testovací případ a přidáte další testovací kroky, abyste ověřili úspěšné vytvoření záznamu.

K ověření úspěšně vytvořeného záznamu proveďte následující kroky:

  • Inicializujte v databázi proměnou pro počet zaznamenaných pochvalných hodnocení na začátku testovacího případu.
  • Inicializujte v databázi proměnou pro počet zaznamenaných pochvalných hodnocení na konci testovacího případu.
  • Napište testovací kontrolní výraz, který ověří, že se počet bodů zvýšil o jeden bod. Pokud se počet bodů nezvýší o jeden bod, selže testovací kontrolní výraz i celý testovací případ.

Přidání testovacích kroků a testovacích kontrolních výrazů do aplikace Kudos:

  1. Vyberte krok 1 nebo krok nad ním, před který chcete vložit nový krok.

  2. V horní nabídce vyberte Insert a step above (Vložit krok nad) nebo tuto možnost vyberte na aktivním řádku. Tato akce vytvoří prázdný krok.

    Vožení kroku.

    Poznámka

    Když vyberete Insert step above (Vložit krok nad), přidá se nad aktuální krok nový prázdný krok. Místo toho také můžete použít akce Assert (vyhodnotit), SetProperty (nastavit vlastnost), Select (vybrat) nebo Trace (trasovat). Tím přidáte krok s příslušným vzorcem akce, který můžete upravit.

  3. Aktualizujte popis kroku. Příklad: „Spočítání bodů pochvalného hodnocení v databázi“.

  4. Do vstupu akce zadejte výraz nebo vzorec, který před samotným testem spočítá záznamy v databázi.

    Můžete použít libovolný podporovaný výraz. Můžete také zadat dotaz do libovolných zdrojů dat, kolekcí, proměnných nebo spuštěných toků obsažených v aplikaci a vytvářet nové globální proměnné nebo kolekce, které v testech použijete.

    Set(kudosBeforeTest, CountRows(Filter(Kudos, Receiver.Email = "someone@example.com")))```
    
    
  5. Select Step 2 or the step above which you want to insert a new step.

  6. Select Insert a step above from the top menu or by selecting the option from the active row. This action creates an empty step.

  7. Enter an expression or formula in the action input to Trace and write the kudosBeforeTest value to test the results record.

    Trace("kudosBeforeTest : " & kudosBeforeTest);
    

    Počet bodů pochvalného hodnocení před testem.

  8. Přejděte na konec testovacího případu a vložte nový krok, který po dokončení testu spočítá záznamy v databázi.

    Set(kudosAfterTest, CountRows(Filter(Kudos, Receiver.Email = "someone@example.com")))```
    
    
  9. Add a final step to validate that the record count in the database has increased by a count of 1, and enter the following assertion action to verify:

    Assert(kudosAfterTest = kudosBeforeTest + 1, "Kudos count incorrect. Expected : " & kudosBeforeTest + 1  & " Actual :" & kudosAfterTest)
    

    Počet bodů pochvalného hodnocení po vyhodnocení testu.

  10. V nástroji Test Studio uložte testovací případ volbou z nabídky v pravém horním rohu.

Přehrání testu

Nahraný test si můžete přehrát, abyste ověřili správné fungování aplikace. Můžete přehrát všechny testy v jedné testovací sadě nebo jen jeden testovací případ.

Než začnete přehrávat záznam s posledními změnami, musíte aplikaci publikovat:

Přehrání bez publikování.

Důležité

Pokud publikování přeskočíte, nepřehrají se poslední změny provedené v testu. S aplikací se přehraje poslední publikovaný testovací případ nebo sada.

  1. Volbou Publikovat automaticky uložíte a publikujete svůj test.

    Publikování změn.

  2. Vyberte sadu testů nebo jen jeden testovací případ.

  3. Vyberte Přehrát. Publikovaná aplikace se otevře v režimu přehrávání, ve kterém vidíte automatické přehrání testovacích kroků. Zelené zaškrtávací políčko znamená úspěšně provedený testovací krok. Pokud krok selže, zobrazí se červený indikátor chyby a chybová zpráva.

    Režim přehrávání.

  4. Pokud se chcete vrátit do nástroje Test Studio, klikněte na Done (Hotovo).

Neúspěšné vyhodnocení

V této části změníte testovací kontrolní výraz, abyste si vyzkoušeli neúspěšný test:

  1. Vyberte pole výrazu a upravte kontrolní krok.

  2. V testovací akci aktualizujte hodnotu + 1 na + 2. Tato aktualizace znamená, že test očekává vytvoření dvou záznamů, což není správně. Při úspěšném testu by se v databázi měl vytvořit jenom jeden záznam.

    Assert(kudosAfterTest = kudosBeforeTest + 2, "Kudos count incorrect. Expected : " & kudosBeforeTest + 2  & " Actual :" & kudosAfterTest)
    

    Aktualizace kontrolního počtu.

  3. Vyberte Publikovat.

  4. Vyberte Přehrát.

  5. Podívejte se na záznam testu. Teď závěrečný krok selže. Zobrazí se chyba a zpráva, kterou jste zadali v kontrolním kroku.

    Chyba při přehrávání.

Přehrávání testů v prohlížeči

Můžete zkopírovat odkaz a přehrát test odděleně v prohlížeči mimo Test Studio. To vám pomůže integrovat testy do průběžného kanálu sestavení a vydaných verzí, jako je Azure DevOps.

Odkaz na přehrání vybraného testu je trvalý. Nemění se pro sadu testů ani pro testovací případ. Testy můžete aktualizovat, aniž byste museli měnit postupy vytváření buildů a vydávání verzí.

Přehrávání testů v prohlížeči:

  1. V pravém podokně vyberte sadu testů nebo testovací případ.

  2. Vyberte Copy play link (Zkopírovat odkaz na přehrání).

    Zkopírování odkazu na přehrání.

  3. Pokud existují nepublikované změny, zobrazí se výzva k publikování testů.

    Publikování před kopírováním odkazu.

  4. Můžete vybrat, že publikační proces vynecháte a zkopírujete odkaz pro přehrání. Pokud publikování vynecháte, nové změny testu se nepřehrají.

    Zkopírování odkazu na přehrání.

  5. Otevřete prohlížeč a do panelu Adresa vložte adresu URL pro přehrání testu.

  6. Podívejte se, jak se test přehraje.

Nastavení testů

Vlastnost OnTestCaseStart testovací sady lze použít k nastavení testu. Výraz zadaný pro tuto vlastnost se spustí pro každý testovací případ v sadě, než se případ začne provádět. Vlastnost OnTestCaseStart vám pomůže vyhnout se zápisu stejných testovacích kroků na začátku každého případu. Tuto vlastnost můžete upravit tak, aby se spouštěly úlohy nastavení, které jsou společné pro všechny případy v sadě, například:

  • Vždy spouštět provádění testu od první obrazovky.
  • Inicializovat společné kolekce nebo proměnné.
  • Načítat testovací data ze zdroj dat pro aktuální prováděný test.

Záznam TestCaseInfo obsahuje podrobnosti o aktuálním prováděném testu. Obsahuje následující vlastnosti:

  • TestCaseName – název testovacího případu.
  • TestCaseDescription – popis testovacího případu.
  • TestCaseId – ID testovacího případu.
  • TestSuiteName – název sady testů, do které případ patří.
  • TestSuiteDescription – popis testovací sady.
  • TestSuiteId – ID sady testů, do které případ patří.

V níže uvedeném příkladu přizpůsobíte vlastnost OnTestCaseStart, takže každý testovací případ začíná od první obrazovky v aplikaci. Načtete také testovací data ze zdroje dat, na které lze odkazovat v krocích pro testovací případ.

  1. V levém podokně vyberte Test (Testovat) nebo v záhlaví sady klikněte na View (Zobrazit).

    Testování nebo zobrazení nastavené vlastnosti.

  2. Zvolte akci OnTestCaseStart.

  3. Zadejte výraz pro přechod na první obrazovku a načtěte testovací data pro váš test.

    //Start every cases on the first screen in the Kudos app
    Navigate('Dashboard Screen');
    
    //Initialize my test data for the current case. 
    Set(currentTestData, LookUp(KudosTestData, TestCase = TestCaseInfo.TestCaseName));
    
    //Set kudosBeforeTest to 0
    Set(kudosBeforeTest, 0)
    

    Příklad OnTestCaseStart.

Zpracování výsledků testů

Testovací panel, který je vidět při přehrávání testů v nástroji Test Studio, se v prohlížeči nezobrazuje. Kvůli tomuto chování nemůžete určit právě prováděný konkrétní testovací krok, ani úspěšný nebo neúspěšný výsledek testu.

Pokud chcete zjistit výsledky testů mimo Test Studio, jsou v testovacím objektu k dispozici dvě vlastnosti OnTestCaseComplete a OnTestSuiteComplete, které můžete použít ke zpracování výsledků testů. Pokud testy integrujete do nepřetržitého kanálu buildů a vydaných verzí, jako je Azure DevOps, můžete tyto vlastnosti použít, abyste zjistili, jestli přejít k nasazení aplikace.

Výraz, který u těchto vlastností zadáte, se aktivuje po dokončení každého případu nebo sady. Tyto vlastnosti můžete přizpůsobit, aby se výsledky testů zpracovaly a odeslaly do různých zdrojů dat nebo služeb, jako například:

  • SQL Server.
  • Dataverse.
  • Power Automate.
  • Odeslat e-mailem pomocí Office 365.

Nastavení se použije pro každou sadu testů nebo testovací případ, které jsou v aplikaci. Po dokončení každé sady testů nebo testovacího případu budou výsledky testů a trasovací zprávy obsažené v testech k dispozici v záznamech TestCaseResult a TestSuiteResult.

Záznam TestCaseResult obsahuje následující vlastnosti:

  • TestCaseName – název testovacího případu.
  • TestCaseDescription – popis testovacího případu.
  • TestCaseId – ID testovacího případu.
  • TestSuiteName – název sady testů, do které případ patří.
  • TestSuiteDescription – popis testovací sady.
  • TestSuiteId – ID sady testů, do které případ patří.
  • StartTime – čas zahájení testu.
  • EndTime – čas ukončení testu.
  • Traces – výsledek testovacích kontrolních výrazů a zprávy trasovací funkce.
  • Success – znamená, že test byl úspěšně dokončen.
  • TestFailureMessage – chybová zpráva v případě, že testovací případ skončí neúspěchem.

Záznam TestSuiteResult obsahuje následující vlastnosti:

  • TestSuiteName – název testovací sady.
  • TestSuiteDescription – popis testovací sady.
  • TestSuiteId – ID testovací sady.
  • StartTime – čas zahájení spuštění testovací sady.
  • EndTime – čas ukončení testovací sady.
  • TestsPassed – počet úspěšně dokončených testovacích případů v sadě.
  • TestsFailed – počet neúspěšných testovacích případů v sadě.

V tomto rychlém startu vytvoříte v databázi Dataverse dvě vlastní tabulky, do kterých se budou ukládat výsledky testů, a to tak, že přizpůsobíte vlastnosti OnTestCaseComplete a OnTestSuiteComplete.

  1. V levém podokně vyberte Test (Testovat) nebo v záhlaví sady klikněte na View (Zobrazit).

    Testování nebo zobrazení nastavené vlastnosti.

  2. Vyberte akci OnTestCaseComplete.

  3. Zadejte výraz, který zpracuje výsledky testu. V následujícím příkladu se výsledky každého testovacího případu uloží do vlastní tabulky AppTestResults v Dataverse. Výsledky testu také můžete uložit do SQL, SharePoint nebo do jiného zdroje dat. Možná budete muset ve zdroji dat nastavit nebo zvýšit pole Trace (Trasování) na požadovanou hodnotu.

    Poznámka

    Následující ukázky se připojují k Microsoft Dataverse. Můžete vytvořit jednu aplikaci nebo vytvořit aplikaci od začátku pomocí Dataverse. Podrobnější informace o úpravě záznamů ve zdroji dat, který jste použili v následujících ukázkách, najdete v referenčních informacích k funkci Patch.

    //Save to Dataverse
    Patch(AppTestResults
    , Defaults(AppTestResults)
    , {
             TestPass: TestCaseResult.TestCaseName & ":" & Text(Now())
             ,TestSuiteId: TestCaseResult.TestSuiteId
             ,TestSuiteName: TestCaseResult.TestSuiteName
             ,TestCaseId: TestCaseResult.TestCaseId
             ,TestCaseName: TestCaseResult.TestCaseName
             ,StartTime: TestCaseResult.StartTime
             ,EndTime: TestCaseResult.EndTime
             ,TestSuccess: TestCaseResult.Success
             ,TestTraces: JSON(TestCaseResult.Traces)
             ,TestFailureMessage: TestCaseResult.TestFailureMessage
    }
    );
    

    Příklad akce OnTestCaseComplete.

  4. Vyberte akci OnTestSuiteComplete.

  5. Zadejte výraz, který zpracuje výsledky testu. V následujícím příkladu uložíte výsledky každého testovacího případu do vlastní tabulky AppTestSuiteResults v Dataverse.

    //Save to Dataverse
    Patch(AppTestSuiteResults
        , Defaults(AppTestSuiteResults)
        , {
             TestSuiteId: TestSuiteResult.TestSuiteId
             ,TestSuiteName: TestSuiteResult.TestSuiteName
             ,StartTime: TestSuiteResult.StartTime
             ,EndTime: TestSuiteResult.EndTime
             ,TestPassCount: TestSuiteResult.TestsPassed
             ,TestFailCount: TestSuiteResult.TestsFailed
        }
    );
    

    Příklad akce OnTestSuiteComplete.

Další příklad výrazů, které můžete použít v těchto vlastnostech:

  • Odešlete výsledky do toku v Power Automate.

    MyTestResultsFlow.Run(JSON(TestCaseResult))
    
  • Odešlete výsledky e-mailem.

    Office365.SendMailV2("someone@example.com", "Test case results", JSON(TestCaseResult, JSONFormat.IndentFour))
    
  • Přijetí oznámení aplikace o výsledku testu.

    Když například přehráváte test v prohlížeči, tzn. mimo Test Studio, může vám přijít oznámení o dokončení testu.

    Notify(TestCaseResult.TestCaseName & " : "
            & If( TestCaseResult.Success
                , " Passed"
                , TestCaseResult.TestFailureMessage)
            ,If(  TestCaseResult.Success
                , NotificationType.Success
                , NotificationType.Error)
    )
    

Testovací funkce

Kromě funkcí, které jsou k dispozici v Power Apps, můžete při psaní testů použít následující běžně používané funkce:

Další kroky

Poznámka

Můžete nám sdělit, jaké máte jazykové preference pro dokumentaci? Zúčastněte se krátkého průzkumu. (upozorňujeme, že tento průzkum je v angličtině)

Průzkum bude trvat asi sedm minut. Nejsou shromažďovány žádné osobní údaje (prohlášení o zásadách ochrany osobních údajů).