Arbejde med Test Studio

I denne hurtig start skal du oprette test for en lærredapp, som hedder Kudos. Du kan også udforske og finde testkoncepter samt anvende dem til at skrive test for dine egne lærredapps. Kudos-eksempelappen er en del af en pakke af apps til medarbejderbrug, som kan downloades fra Startsæt til medarbejderoplevelser.

Se denne video for at få mere at vide om, hvordan du arbejder med Test Studio:

Åbne Test Studio

  1. Log på Power Apps.

  2. Opret en ny app, eller rediger en eksisterende app.

  3. Gem din app i Power Apps for at åbne Test Studio.

    Bemærk

    Du skal gemme en app, før du kan skrive test for appen.

  4. Vælg Avancerede værktøjer i navigationsruden til venstre.

  5. Vælg Åbn test for at åbne Test Studio for denne applikation. Denne handling åbner Test Studio i en ny browserfane.

    Åbn Test Studio.

Bemærk

Test publiceres og gemmes i apppakken. Når du eksporterer og importerer en apppakke til et andet miljø, medtages også alle testdefinitioner, f.eks. de testpakker og testcases, du har oprettet.

Oprette en testpakke

Der oprettes som standard en testpakke og en testcase for dig i Test Studio. Testpakker bruges til at organisere dine testcases. En app kan indeholde en eller flere testpakker. Du kan bruge standardtestpakken og -casen for at begynde at skrive dine test med det samme, eller du kan oprette en ny testpakke.

  1. Vælg Ny pakke.

  2. Opdater Navn på og beskrivelse af testpakke ved at vælge felterne i hovedgitteret.

    Ny testpakke.

Oprette en testcase

Afhængigt af hvordan du vil organisere eller gruppere dine test, kan du oprette flere testcases i en testpakke. Hver case kan teste en specifik funktion eller et undersæt af funktioner i din app.

  1. Vælg en testpakke.
  2. Vælg Ny case i den øverste menu for at oprette en ny case.
  3. Opdater Navn på og beskrivelse af testcase ved at vælge felterne i hovedgitteret.

Ny testcase.

Registrere en testcase

En testcase består af testtrin, der indeholder handlinger. Testhandlinger skrives ved hjælp af Power Apps-udtryk, der udfører en opgave. Du kan bruge registreringsprogrammet til at generere testtrinnene automatisk, i takt med at du interagerer med appen. Efter registreringen kan du opdatere testcasen, tilføje nye trin, slette trin og skrive testantagelser for at validere resultatet af testen.

Bemærk

Det er kun en publiceret apps, der kan afspilles i registreringstilstand. Udgiv alle nye ændringer af appen, før du begynder at registrere en testcase. Registrering uden udgivvelse af nye ændringer medfører, at den seneste udgivne version af appen afspilles i registreringstilstand.

  1. Vælg Registrer i den øverste menu. Denne handling åbner den publicerede app i registreringstilstand i en ny browserfane.

    Vigtigt

    Registrering af en eksisterende testcase overskriver alle eksisterende testtrin, der allerede findes.

    Registrer test.

  2. Interager med din app. Dine handlinger registreres i ruden til venstre.

  3. Når interaktionen er fuldført, skal du vælge Udført. Du kan eventuelt vælge Annuller for at vende tilbage til Test Studio uden at registrere dine interaktioner.

    Gem registrering.

  4. Se de testtrin og udtryk, der blev genereret automatisk for dig i Test Studio.

  5. Rediger efter behov tekstbeskrivelsen af trinnene i hovedgitteret. Du kan også opdatere handlingerne i testtrinnene ved at vælge formlen i hovedgitteret.

    Opdater testcase.

Tilføje testtrin og testantagelser

Hver testcase bør have et forventet resultat. I Kudos-eksemplet er et af de forventede resultater af at sende en kudo, at der oprettes en ny post i databasen for Microsoft Dataverse (Dataverse). Du skal nu opdatere testcasen og tilføje yderligere trin for at validere, at en post blev oprettet korrekt.

Følg disse trin for at bekræfte, at posten blev oprettet korrekt:

  • Initialiser en variabel for antallet af kudo-poster i databasen i begyndelsen af testcasen.
  • Initialiser en variabel for antallet af kudo-poster i databasen i slutningen af testcasen.
  • Skriv et udtryk for en testantagelse for at validere, at den steg med ét. Hvis antallet ikke steg med ét, mislykkes testantagelsen, og din testcase mislykkes.

Sådan tilføjer du trin og testantagelser i Kudos-appen:

  1. Vælg Trin 1 eller det trin, over hvilket du vil indsætte et nyt trin.

  2. Vælg Indsæt et trin over i den øverste menu, eller vælg funktionen fra den aktive række. Denne handling opretter et tomt trin.

    Indsæt trin.

    Bemærk

    Når du vælger Indsæt trin over, tilføjes der et nyt tomt trin over det aktuelle trin. Du kan også brug handlingerne Assert, SetProperty, Select eller Trace i stedet. Dermed tilføjes et trin med en respektiv handlingsformel, som du kan redigere.

  3. Opdater beskrivelsen af trinnet. For eksempel "Tæl kudo i databasen".

  4. Angiv et udtryk eller en formel i handlingsinputtet for at tælle posterne i databasen, før testen udføres.

    Du kan bruge et hvilket som helst understøttet udtryk. Du kan også sende en forespørgsel til en hvilken som helst datakilde, samling, variabel eller kørselsflow, der findes i din app, og oprette nye globale variabler eller samlinger, der kan bruges i dine test.

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

    Kudos før test.

  8. Gå ned til bunden af testcasen, og indsæt et nyt trin for at tælle posterne i databasen, efter testen er fuldført.

    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)
    

    Kudos efter testantagelse.

  10. Gem testcasen via den øverste menu til højre i Test Studio.

Afspille din test

Du kan afspille din registrerede test for at validere appens funktionalitet. Du kan afspille alle test i en enkelt testpakke eller testcase.

Du skal publicere appen, før du kan afspille registreringen med de nyeste ændringer:

Afspil uden publicering.

Vigtigt

Hvis du springer publiceringen over, vil afspilningen af registreringen ikke indeholde dine seneste ændringer af testen. Den seneste publicerede testcase eller -pakke afspilles for appen.

  1. Vælg Publicer for automatisk at gemme og publicere din test.

    Publicer ændringer.

  2. Vælg enten en testpakke eller en enkelt testcase.

  3. Vælg Afspil. Den publicerede app åbnes i tilstanden Afspil, og du kan se, at dine testtrin afspilles automatisk. Et grønt flueben indikerer, hvornår et testtrin er udført korrekt. Hvis et trin mislykkes, vises der en rød fejlindikator sammen med en fejlmeddelelse.

    Tilstanden Afspil.

  4. Vælg Udført for at vende tilbage til Test Studio.

Mislykket antagelse

I dette afsnit skal du ændre testantagelsen, så du kan opleve en mislykket test:

  1. Rediger antagelsestrinnet ved at vælge udtryksfeltet.

  2. Opdater + 1 til + 2 i testhandlingen. Denne opdatering betyder, at testen forventer, at der oprettes to poster, hvilket er forkert. Hvis testen lykkes, bør der kun blive oprettet én post i databasen.

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

    Opdatering af antal antagelser.

  3. Vælg Udgiv.

  4. Vælg Afspil.

  5. Se testen blive afspillet. Det sidste trin mislykkes nu, og der vises en fejl sammen med den meddelelse, du angav i antagelsestrinnet.

    Afspilningsfejl.

Afspilning af test i en browser

Du kan kopiere et link for at afspille en test i en separat browser uden for Test Studio. Det hjælper med at integrere dine test i efterfølgende build- og udgivelsespipelines såsom Azure DevOps.

Afspilningslinket til den udvalgte test fastholdes. Det ændres ikke for testpakken eller testcasen. Du kan opdatere dine test uden at skulle ændre build- og publiceringsprocesser.

Sådan afspiller du test i browseren:

  1. Vælg en testpakke eller testcase i ruden til højre.

  2. Vælg Kopiér afspilningslink.

    Kopiér afspilningslink.

  3. Du bliver bedt om at publicere dine test, hvis der er ikke-publicerede ændringer.

    Publicer før kopiering af link.

  4. Du kan vælge at springe publiceringsprocessen over og kopiere afspilningslinket. Nye ændringer af testen afspilles ikke, hvis du springer over.

    Afspil kopieret link.

  5. Åbn en browser, og indsæt URL-adressen i adresselinjen for at afspille testen.

  6. Se testen blive afspillet.

Konfigurer dine test

Egenskaben OnTestCaseStart for en testpakke kan bruges til at konfigurere testen. Det udtryk, der er angivet for denne egenskab, udløses for hver testcase i en pakke, inden casen begynder at køre. OnTestCaseStart hjælper dig med at undgå at skrive de samme testtrin i starten af alle sager. Du kan tilpasse denne egenskab til at køre konfigureringsopgaver, der er fælles for alle sager i pakken, f.eks. følgende:

  • Start altid testkørsel på det første skærmbillede.
  • Initier fælles samlinger eller variabler.
  • Hent testdata fra en datakilde for den igangværende test

Posten TestCaseInfo indeholder oplysninger om den aktuelle test, der udføres. Den indeholder følgende egenskaber:

  • TestCaseName – navnet på testcasen.
  • TestCaseDescription – beskrivelsen af testsagen.
  • TestCaseId – id'et for testcasen.
  • TestSuiteName – navnet på den testpakke, som casen tilhører.
  • TestCaseDescription – beskrivelsen af testpakken.
  • TestSuiteId – id'et for den testpakke, som casen tilhører.

I følgende eksempel skal du tilpasse egenskaben OnTestCaseStart, så alle testsager starter fra det første skærmbillede i appen. Du kommer også til at hente testdataene fra en datakilde, der kan refereres til i trinnene til testsagen.

  1. Vælg Test i ruden til venstre eller Vis i pakkens overskrift.

    Test eller vis angivet egenskab.

  2. Vælg handlingen OnTestCaseStart.

  3. Angiv et udtryk for at navigere til det første skærmbillede og hente testdataene til testen.

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

    Eksempel på OnTestCaseStart.

Behandling af testresultater

Testpanelet, som er synligt, når du afspiller test i Test Studio, er ikke synligt, når du bruger en browser. Denne adfærd resulterer i, at du ikke kan se det specifikke testtrin, der udføres, eller om en test lykkes eller mislykkes.

Der findes to egenskaber i testobjektet med navnene OnTestCaseComplete og OnTestSuiteComplete, som bruges til at fastslå testresultater uden for Test Studio, og som du kan bruge til at behandle resultaterne af dine test. Når du integrerer test i en efterfølgende build- og publiceringspipeline såsom Azure DevOps, kan disse egenskaber bruges til at fastslå, om du kan fortsætte med appudrulningen.

Det angivne udtryk for disse egenskaber udløses, når hver case eller pakke fuldføres. Du kan tilpasse disse egenskaber for at behandle og sende resultaterne af dine test til forskellige datakilder eller tjenester såsom:

  • SQL Server.
  • Dataverse.
  • Power Automate.
  • Send mail ved hjælp af Office 365.

Disse indstillinger gælder for hver testpakke eller testcase i din app. Når hver testpakke eller testcase er fuldført, er testresultaterne og alle sporingsmeddelelser, som findes i testene, tilgængelige i posterne TestCaseResult og TestSuiteResult.

Posten TestCaseResult indeholder følgende egenskaber:

  • TestCaseName – navnet på testcasen.
  • TestCaseDescription – beskrivelsen af testsagen.
  • TestCaseId – id'et for testcasen.
  • TestSuiteName – navnet på den testpakke, som casen tilhører.
  • TestCaseDescription – beskrivelsen af testpakken.
  • TestSuiteId – id'et for den testpakke, som casen tilhører.
  • StartTime – starttidspunktet for udførelse af testen.
  • EndTime – sluttidspunktet for udførelse af testen.
  • Traces – resultatet af alle testantagelser og meddelelser fra funktionen Trace.
  • Success – angiver, om testcasen blev fuldført korrekt.
  • TestFailureMessage – fejlmeddelelsen, hvis casen mislykkedes.

Posten TestSuiteResult indeholder følgende egenskaber:

  • TestSuiteName – navnet på testpakken.
  • TestCaseDescription – beskrivelsen af testpakken.
  • TestSuiteId – id'et for testpakken.
  • StartTime – starttidspunktet for udførelse af testpakken.
  • EndTime – sluttidspunktet for udførelse af testpakken.
  • TestsPassed – antallet af testcases, der blev fuldført korrekt i pakken.
  • TestsFailed – antallet af testcases, der mislykkedes i pakken.

I denne hurtig start skal du oprette to brugerdefinerede tabeller i Dataverse-databasen for at gemme testresultaterne, efter du har tilpasset egenskaberne OnTestCaseComplete og OnTestSuiteComplete:

  1. Vælg Test i ruden til venstre eller Vis i pakkens overskrift.

    Test eller vis angivet egenskab.

  2. Vælg handlingen OnTestCaseComplete.

  3. Angiv et udtryk for at behandle resultaterne af din test. I følgende eksempel gemmes alle resultater for testcasen i den brugerdefinerede tabel AppTestResults i Dataverse. Testresultaterne kan eventuelt gemmes i SQL, SharePoint eller en hvilken som helst anden datakilde. Du skal muligvis angive eller øge feltet Trace i din datakilde efter behov.

    Bemærk

    Følgende eksempler opretter forbindelse til Microsoft Dataverse. Du kan oprette en simpel app eller bygge en app fra bunden ved hjælp af Dataverse. Du kan finde flere oplysninger om ændring af poster for en datakilde, som bruges i følgende eksempler, i referencen til funktionen 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
    }
    );
    

    Eksempel på OnTestCaseComplete.

  4. Vælg handlingen OnTestSuiteComplete.

  5. Angiv et udtryk for at behandle resultaterne af din test. I følgende eksempel gemmes alle resultater for testpakken i den brugerdefinerede tabel AppTestSuiteResults i 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
        }
    );
    

    Eksempel på OnTestSuiteComplete.

Andre eksempler på udtryk, du kan bruge i disse egenskaber, er:

  • Send resultater til et flow i Power Automate.

    MyTestResultsFlow.Run(JSON(TestCaseResult))
    
  • Send dine resultater.

    Office365.SendMailV2("someone@example.com", "Test case results", JSON(TestCaseResult, JSONFormat.IndentFour))
    
  • Modtag en appmeddelelse med testresultatet.

    Modtag f.eks. en meddelelse, efter testen er fuldført, når testen afspilles i en browser uden for Test Studio.

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

Testfunktioner

Foruden de tilgængelige funktioner i Power Apps findes følgende almindelige funktioner, som du typisk bruger, når du udarbejder test:

Næste trin

Bemærk

Kan du fortælle os om dine sprogpræferencer for dokumentation? Tag en kort undersøgelse. (bemærk, at denne undersøgelse er på engelsk)

Undersøgelsen tager ca. syv minutter. Der indsamles ingen personlige data (erklæring om beskyttelse af personlige oplysninger).