Share via


Arbeid med Test Studio

I denne hurtigstarten skal du opprette tester for en lerretsapp kalt Kudos. Du kan også utforske og bli kjent med testkonsepter og bruke dem til å skrive tester for dine egne lerretsapper. Appeksempelet Kudos er en del av en serie med apper for ansattengasjement som er tilgjengelige for nedlasting fra Startpakke for ansattopplevelser.

Se denne videoen for å lære hvordan du arbeider med Test Studio:

Åpne Test Studio

  1. Logg på Power Apps.

  2. Opprett en ny app eller rediger en eksisterende app.

  3. Lagre appen i Power Apps for å åpne Test Studio.

    Obs!

    Du må lagre en app før du kan skrive tester for appen.

  4. Velg Avanserte verktøy i venstre navigasjonsrute.

  5. Velg Åpne tester for å åpne Test Studio for denne appen. Denne handlingen åpner Test Studio i en ny nettleserfane.

    Åpne Test Studio.

Obs!

Tester publiseres og lagres i appakken. Eksport og import av en pakke med lerretsapper til et annet miljø vil også inkludere alle testdefinisjonene, for eksempel testpakker og testsaker du har opprettet.

Opprett en testserie

Som standard opprettes en testserie og et testtilfelle for deg i Test Studio. Testserier brukes til å organisere testtilfeller. En app kan inneholde en eller flere testserier. Du kan bruke standard testserie og testtilfelle til å begynne å skrive testene dine umiddelbart, eller opprette en ny testserie.

  1. Velg Ny serie.

  2. Oppdater navn og beskrivelse for testserien ved å velge feltene på hovedrutenettet.

    Ny testserie.

Opprett et testtilfelle

Du kan opprette flere testtilfeller i en testserie avhengig av hvordan du vil organisere eller gruppere testene dine. Hvert tilfelle kan teste en bestemt egenskap eller et delsett av funksjonaliteter i appen din.

  1. Velg en testserie.
  2. Velg Nytt tilfelle på den øverste menyen for å opprette et nytt tilfelle.
  3. Oppdater navn og beskrivelse for testtilfellet ved å velge feltene på hovedrutenettet.

Nytt testtilfelle.

Registrer et testtilfelle

Et testtilfelle består av testtrinn med handlinger. Testhandlinger skrives ved hjelp av Power Apps-uttrykk som utfører en oppgave. Du kan bruke opptakeren til å generere testtrinnene automatisk mens du samhandler med appen din. Etter opptaket kan du oppdatere testtilfellet, legge til nye trinn, slette trinn og skrive testdeklarasjoner for å validere testresultatet ditt.

Obs!

Kun publiserte apper spilles av i opptaksmodus. Publiser eventuelle nylige endringer i appen før du begynner å spille inn et testtilfelle. Ved opptak uten å publisere nylige endringer er det den sist publiserte versjonen av appen som spilles av i opptaksmodus.

  1. Velg Opptak fra toppmenyen. Denne handlingen åpner den publiserte appen i opptaksmodus på en ny nettleserfane.

    Viktig

    Opptak på et eksisterende testtilfelle overstyrer alle eksisterende testtrinn.

    Spill inn tester.

  2. Samhandle med appen. Handlingene dine tas opp i den venstre ruten.

  3. Når samhandlingen er fullført, velger du Fullført. Du kan også velge Avbryt for å gå tilbake til Test Studio uten at samhandlingene blir tatt opp.

    Lagre innspillingen.

  4. Se testtrinnene og uttrykkene som ble generert automatisk for deg i Test Studio.

  5. Rediger teksten om trinnbeskrivelse i hovedrutenettet om nødvendig. Du kan også oppdatere handlingene for testtrinn ved å velge formelen på hovedrutenettet.

    Oppdater testtilfellet.

Legge til testtrinn og testdeklarasjoner

Hvert testtilfelle bør ha et forventet resultat. Ett av de forventede resultatene ved sending av en Kudo i Kudos-eksempelet, er opprettelse av en ny oppføring i Microsoft Dataverse-databasen (Dataverse). Du skal nå oppdatere testtilfellet og legge til flere testtrinn for å validere at en innspilling ble opprettet.

Følg disse trinnene for å bekrefte at opprettingen av opptaket var vellykket:

  • Start en variabel i begynnelsen av testtilfellet for antall Kudo-oppføringer i databasen.
  • Start en variabel på slutten av testtilfellet for antall Kudo-oppføringer i databasen.
  • Skriv et testdeklarasjonsuttrykk for å validere at antallet har økt med en. Hvis antallet ikke øker med en, mislykkes testdeklarasjonen og testtilfellet ditt.

Slik legger du til testtrinn og testdeklarasjoner i Kudos-appen:

  1. Velg trinn 1 eller trinnet over der du vil sette inn et nytt trinn.

  2. Velg Sett inn et trinn over fra toppmenyen eller ved å velge alternativet fra den aktive raden. Denne handlingen oppretter et tomt trinn.

    Sett inn trinn.

    Obs!

    Når du velger Sett inn trinn over, legges et nytt tomt trinn over det gjeldende trinnet. Du kan også bruke handlingene Assert (Deklarasjon), SetProperty (Angi egenskap), Select (Velg) eller Trace (Sporing) i stedet. Dette legger til et trinn med en tilhørende handlingsformel som du kan redigere.

  3. Oppdater trinnbeskrivelsen. For eksempel «Antall Kudo i databasen».

  4. Skriv inn et uttrykk eller en formel i inndatafeltet for handling for å telle oppføringene i databasen før du kjører testen.

    Du kan bruke et hvilket som helst støttet uttrykk. Du kan også sende en spørring til datakilder, samlinger, variabler eller kjøre flytprosesser som finnes i appen din, samt opprette nye globale variabler eller samlinger du kan bruke i testene dine.

    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 testen.

  8. Gå til bunnen av testtilfellet og sett inn et nytt trinn for å telle oppføringene i databasen etter at testen er fullfø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 etter testdeklarasjonen.

  10. Lagre testtilfellet fra øverste høyre meny i Test Studio.

Spill av testen din

Du kan spille av den innspilte testen din for å validere appfunksjonaliteten. Du kan spille av alle testene i én enkelt testserie, eller i ett enkelt testtilfelle.

Du må publisere appen før du spiller av opptaket med nylige endringer:

Spill av uten å publisere.

Viktig

Hvis du hopper over publisering, vil ikke opptaket som spilles av inneholde de siste testendringene. Sist publiserte testtilfelle eller serie spilles av mot appen.

  1. Velg Publiser for å lagre og publisere testen automatisk.

    Publisere endringer.

  2. Velg enten en testserie eller ett enkelt testtilfelle.

  3. Velg Spill av. Den publiserte appen åpnes i avspillingsmodus, og du kan se testtrinnene dine som spilles av automatisk. En grønn hake indikerer at utførelse av et testtrinn er vellykket. Hvis et trinn mislykkes, vises en rød feilindikator sammen med en feilmelding.

    Avspillingsmodus.

  4. Velg Fullført for å gå tilbake til Test Studio.

Mislykket deklarasjon

I denne delen endrer du testdeklarasjonen for å se hvordan en mislykket test fungerer:

  1. Rediger deklarasjonstrinnet ved å velge uttrykksboksen.

  2. Oppdater + 1 til + 2 i testhandlingen. Denne oppdateringen betyr at testen forventer at det opprettes to opptak, noe som er feil. Hvis testen er vellykket, bør bare ett opptak være opprettet i databasen.

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

    Oppdatering av deklarasjonsantall.

  3. Velg Publiser.

  4. Velg Spill av.

  5. Vis testen som spilles av. Det siste trinnet mislykkes nå og viser en feil og meldingen du oppgav i deklarasjonstrinnet.

    Avspillingsfeil.

Avspilling av tester i en nettleser

Du kan kopiere en kobling for å spille av en test i en separat nettleser utenfor Test Studio. Dette hjelper deg med å integrere testene dine i et datasamlebånd med kontinuerlig bygging og utgivelse, for eksempel i Azure DevOps.

Koblingen for avspilling av valgt test opprettholdes. Den endres ikke for testserien eller testtilfellet. Du kan oppdatere testene dine uten å måtte endre prosessene for bygging og utgivelse.

Slik spiller du av tester i nettleseren:

  1. Velg en testserie eller et testtilfelle i høyre rute.

  2. Velg Kopier avspillingskobling.

    Kopier avspillingskoblingen.

  3. Du blir bedt om å publisere testene hvis det finnes upubliserte endringer.

    Publiser før kopiering av kobling.

  4. Du kan velge å hoppe over publiseringsprosessen og kopiere avspillingskoblingen. Nye testendringer spilles ikke av hvis du hopper over dette.

    Avspillingskobling kopiert.

  5. Åpne en nettleser og lim inn nettadressen i adressefeltet for å spille av testen.

  6. Vis testen din som spilles av.

Sette opp tester

Egenskapen OnTestCaseStart for en testserie kan brukes til å konfigurere testen. Uttrykket som er angitt for denne egenskapen, utløses for hvert testtilfelle i en serie før saken begynner å kjøre. OnTestCaseStart hjelper deg med å unngå å skrive de samme testtrinnene i begynnelsen av hver sak. Du kan tilpasse denne egenskapen til å kjøre konfigurerte oppgaver som er felles for alle saker i pakken, for eksempel:

  • Start alltid testkjøring fra det første skjermbildet.
  • Initialiser felles samlinger eller variabler.
  • Hent testdata fra en datakilde for gjeldende test som utføres

TestCaseInfo-oppføringen inneholder detaljer for gjeldende test som utføres. Det består av følgende egenskaper:

  • TestCaseName – Navnet på testtilfellet.
  • TestCaseDescription – beskrivelsen av testsaken.
  • TestCaseId – ID-en til testtilfellet.
  • TestSuiteName – Navnet på testserien som tilfellet hører til.
  • TestSuiteDescription – beskrivelsen av testserien.
  • TestSuiteId – ID-en for testserien som tilfellet hører til.

I eksemplet nedenfor skal du tilpasse OnTestCaseStart-egenskapen slik at hver testsak starter fra det første skjermbildet i appen. Du skal også hente testdataene fra en datakilde som det kan refereres til, i trinnene for testsaken.

  1. Velg Test i venstre rute, eller klikk på View på seriehodet.

    Test eller vis angitt egenskap.

  2. Velg handlingen OnTestCaseStart.

  3. Skriv inn et uttrykk for å navigere til det første skjermbildet, og hent testdataene for 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 av testresultater

Testpanelet som er synlig når du spiller av tester i Test Studio, er ikke synlig når du bruker en nettleser. På grunn av denne virkemåten kan du ikke vite hvilket testtrinn som utføres, eller om en test lykkes eller mislykkes.

For å se testresultatene utenfor Test Studio finnes det to egenskaper, OnTestCaseComplete og OnTestSuiteComplete. Disse er tilgjengelige i testobjektet som du kan bruke til å behandle resultatene av testene dine. Når du integrerer tester i et datasamlebånd med kontinuerlig bygging og utgivelse, for eksempel i Azure DevOps, kan disse egenskapene brukes til å avgjøre om du skal fortsette med apputrullingen.

Uttrykket angitt for disse egenskapene utløses når hvert tilfelle eller serie fullføres. Du kan tilpasse disse egenskapene til å behandle og sende testresultatene dine til ulike datakilder eller tjenester, blant annet:

  • SQL Server.
  • Dataverse.
  • Power Automate.
  • E-post ved hjelp av Office 365.

Disse innstillingene gjelder for hver testserie eller testtilfelle i appen. Etter at hver testserie eller testtilfelle er fullført, er testresultatene og eventuelle sporingsmeldinger i testene tilgjengelige i oppføringene i TestCaseResult og TestSuiteResult.

Oppføringen TestCaseResult inneholder følgende egenskaper:

  • TestCaseName – Navnet på testtilfellet.
  • TestCaseDescription – beskrivelsen av testsaken.
  • TestCaseId – ID-en til testtilfellet.
  • TestSuiteName – Navnet på testserien som tilfellet hører til.
  • TestSuiteDescription – beskrivelsen av testserien.
  • TestSuiteId – ID-en for testserien som tilfellet hører til.
  • Start Time – Starttidspunktet for testkjøringen.
  • EndTime – Sluttidspunktet for testkjøringen.
  • Traces – Resultatet av testdeklarasjoner og eventuelle meldinger fra sporingsfunksjonen.
  • Success – Indikerer at testtilfellet er fullført.
  • TestFailureMessage – Feilmelding som vises hvis testtilfellet mislyktes.

Oppføringen TestSuiteResult inneholder følgende egenskaper:

  • TestSuiteName – Navnet på testserien.
  • TestSuiteDescription – beskrivelsen av testserien.
  • TestSuiteId – ID-en til testserien.
  • Start Time – Starttidspunktet for kjøring av testserien.
  • EndTime – Sluttidspunktet for kjøring av testserien.
  • TestsPassed – Antall testtilfeller som ble fullført i serien.
  • TestsFailed – Antall testtilfeller som mislyktes i serien.

I denne hurtigstarten skal du opprette to egendefinerte tabeller i Dataverse-databasen til lagring av testresultatene, ved å tilpasse egenskapene OnTestCaseComplete og OnTestSuiteComplete:

  1. Velg Test i venstre rute, eller klikk på View på seriehodet.

    Test eller vis angitt egenskap.

  2. Velg handlingen OnTestCaseComplete.

  3. Skriv inn et uttrykk for å behandle testresultatene. Følgende eksempel lagrer hvert testresultat i den egendefinerte AppTestResults-tabellen i Dataverse. Testresultatene kan eventuelt lagres i SQL, SharePoint eller en hvilken som helst annen datakilde. Det kan hende du må konfigurere eller øke sporingsfeltet i datakilden etter behov.

    Obs!

    Eksemplene nedenfor kobler til Microsoft Dataverse. Du kan opprette en enkel app eller bygge en app fra bunnen av ved å bruke Dataverse. Du kan også lese om funksjonen Patch for mer informasjon om hvordan du endrer oppføringer i en datakilde som brukes i følgende eksempler.

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

    OnTestCaseComplete-eksempel.

  4. Velg handlingen OnTestSuiteComplete.

  5. Skriv inn et uttrykk for å behandle testresultatene. I følgende eksempel skal du lagre resultatene for hver testpakke i den egendefinerte tabellen 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
        }
    );
    

    OnTestSuiteComplete-eksempel.

Her er andre eksempler på uttrykk du kan bruke i disse egenskapene:

  • Send resultater til en flyt i Power Automate.

    MyTestResultsFlow.Run(JSON(TestCaseResult))
    
  • Send resultatene på e-post.

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

    Motta for eksempel en varsling etter at testen er fullført ved avspilling av testen i en nettleser utenfor Test Studio.

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

Testfunksjoner

Nedenfor er vanlige funksjoner som du vanligvis vil bruke når du skriver tester, i tillegg til funksjonene som er tilgjengelige i Power Apps.

Neste trinn

Obs!

Kan du fortelle oss om språkinnstillingene for dokumentasjonen? Ta en kort undersøkelse. (vær oppmerksom på at denne undersøkelsen er på engelsk)

Undersøkelsen tar rundt sju minutter. Det blir ikke samlet inn noen personopplysninger (personvernerklæring).