Arbeta med teststudion
I den här snabbstarten skapar du tester för en arbetsyteapp som heter Kudos. Du kan också utforska och identifiera testkoncept och använda dem för att skriva tester för dina egna arbetsyteappar. Exempelappen Kudos ingår i en appsvit med medarbetarappar som kan laddas ned från Employee Experience Starter Kit.
Titta på det här videoklippet och lär dig hur du arbetar med Test Studio:
Öppna Test Studio
Logga in på Power Apps.
Skapa en ny app eller redigera en befintlig app.
Spara appen i Power Apps för att öppna Test Studio.
Anteckning
Du måste spara en app innan du kan skriva tester för appen.
Välj Avancerade verktyg i navigeringen till vänster.
Välj Öppna tester för att öppna Test Studio för den här appen. Denna åtgärd öppna Test Studio i en ny flik i webbläsaren.
Anteckning
Tester publiceras och lagras i Appaketet. Export och import av ett arbetsyteapp paket till en annan miljö omfattar även alla test definitioner, t.ex. testsviter och testfall som du har skapat.
Skapa en testsvit
Som standard skapas en testsvit och ett testfall åt dig i Test Studio. Testsviter används till att ordna testfall i grupper. En app kan innehålla en eller flera testsviter. Du kan använda standardtestsviten och standardfallet om du vill börja skriva dina tester direkt, eller så kan du skapa en ny testsvit.
Välj Ny programsvit.
Ändra namnet och beskrivningen för testsviten genom att välja fälten i huvudrutnätet.
Skapa ett testfall
Du kan skapa flera testfall i en testsvit, beroende på hur du vill ordna eller gruppera dina tester. Varje testfall kan testa en viss funktion eller en delmängd av funktionerna i din app.
- Välj en testsvit.
- Välj Nytt fall på den översta menyn för att skapa ett nytt fall.
- Ändra namnet och beskrivningen för testfallet genom att välja fälten i huvudrutnätet.
Spela in ett testfall
Ett testfall består av teststeg som innehåller åtgärder. Teståtgärder skrivs med hjälp av Power Apps-uttryck som utför en aktivitet. Med inspelaren kan du automatiskt generera teststegen när du interagerar med din app. Efter inspelningen kan du uppdatera testfallet, lägga till nya steg, ta bort steg och skriva testkontroller för att verifiera resultatet av testet.
Anteckning
Endast publicerade appar spelas upp i inspelningsläge. Publicera alla nyligen gjorda ändringar i appen innan du börjar spela in ett testfall. Om du spelar in utan att ha publicerat de senaste ändringarna kommer den senast publicerade versionen av appen att spelas upp i inspelningsläge.
Välj Spela in på den översta menyn. Denna åtgärd öppnar den publicerade appen med inspelningsläget på en ny flik i webbläsaren.
Viktigt
Om du spelar in på ett befintligt testfall åsidosätts alla teststeg som redan finns.
Interagera med din app. Dina åtgärder spelas in i det vänstra fönstret.
När interaktionen är klar väljer du Klar. Alternativt kan du välja Avbryt för att återgå till Test Studio utan att dina interaktioner spelas in.
Visa teststegen och de uttryck som genererades automatiskt åt dig i Test Studio.
Redigera stegbeskrivningen i huvudrutnätet om det behövs. Du kan också ändra teststegsåtgärderna genom att välja formeln i huvudrutnätet.
Lägga till teststeg och testkontroller
Varje testfall bör ha ett förväntat resultat. I Kudos-exemplet är ett av de förväntade resultaten att en ny post skapas i Microsoft Dataverse (Dataverse) databas. Nu ska du uppdatera testfallet och lägga till ytterligare teststeg för att verifiera att en post har skapats.
Du behöver följande steg för att verifiera att posten har skapats:
- Initiera en variabel för antal Kudo-poster i databasen i början av testfallet.
- Initiera en variabel för antal Kudo-poster i databasen i slutet av testfallet.
- Skriv ett testkontrolluttryck för att verifiera att antalet ökat med ett. Om antalet inte ökar med ett, misslyckas testkontrollen och även testfallet.
Lägga till teststeg och testkontroller i Kudos-appen:
Välj steg 1 eller det steg ovanför vilket du vill infoga ett nytt steg.
Välj Infoga steg ovan på den översta menyn eller genom att välja alternativet från den aktiva raden. Denna åtgärd skapar en tomt steg.
Anteckning
När du väljer Infoga steg ovan läggs ett nytt tomt steg till ovanför det aktuella steget. Du kan också använda åtgärderna Assert, SetProperty, Select eller Trace i stället. Detta lägger till steg med respektive åtgärdsformel som du kan redigera.
Ändra stegbeskrivningen. Till exempel ”Räkna Kudo i databasen”.
Ange ett uttryck eller en formel i åtgärdsindata för att räkna posterna i databasen innan du kör testet.
Du kan använda valfritt uttryck som stöds. Du kan också fråga efter alla datakällor, samlingar, variabler eller körningsflöden som finns i din app, samt skapa nya globala variabler eller samlingar som du vill använda i dina tester.
Set(kudosBeforeTest, CountRows(Filter(Kudos, Receiver.Email = "someone@example.com")))```
Select Step 2 or the step above which you want to insert a new step.
Select Insert a step above from the top menu or by selecting the option from the active row. This action creates an empty step.
Enter an expression or formula in the action input to Trace and write the kudosBeforeTest value to test the results record.
Trace("kudosBeforeTest : " & kudosBeforeTest);
Gå längst ned i testfallet och infoga ett nytt steg för att räkna posterna i databasen efter att testet har slutförts.
Set(kudosAfterTest, CountRows(Filter(Kudos, Receiver.Email = "someone@example.com")))```
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)
Spara testfallet på menyn längst upp till höger i Test Studio.
Spela upp testet
Du kan spela upp det inspelade testet för att verifiera appens funktioner. Du kan spela upp alla tester inom en enskild testsvit eller ett enskilt testfall.
Innan du spelar upp inspelningen med de senaste ändringarna måste du publicera appen:
Viktigt
Om du hoppar över publiceringen kommer uppspelningen inte att innehålla de senaste teständringarna. Det senast publicerade testfallet eller sviten spelas upp mot appen.
Välj publicera om du vill spara och publicera testet automatiskt.
Välj antingen en testsvit eller ett enskilt testfall.
Välj Spela upp. Den publicerade appen öppnas i uppspelningsläge och du kan se dina teststeg som spelas upp automatiskt. En grön bock anger att ett teststeg har körts utan fel. Om ett steg misslyckas visas en röd felindikator och ett felmeddelande
Klicka på Klar om du vill återgå till Test Studio.
Kontrollfel
I det här avsnittet ska du ändra testkontrollen så att du får ett misslyckat test:
Redigera kontrollsteget genom att välja uttrycksrutan.
Ändra
+ 1
till+ 2
i teståtgärden. Denna uppdatering innebär att testet förväntar sig att två poster ska skapas, vilket är felaktigt. Om testet lyckas ska endast en post skapas i databasen.Assert(kudosAfterTest = kudosBeforeTest + 2, "Kudos count incorrect. Expected : " & kudosBeforeTest + 2 & " Actual :" & kudosAfterTest)
Välj Publicera.
Välj Spela upp.
Granska testuppspelningen. Nu misslyckas det sista steget, och ett fel och det meddelande som du angav i kontrollsteget visas.
Spela upp tester i en webbläsare
Du kan kopiera en länk om du vill spela upp ett test i en separat webbläsare utanför Test Studio. Detta hjälper dig att integrera dina tester i en kontinuerlig ”skapa och släpp”-pipeline, till exempel Azure DevOps.
Uppspelningslänken för det valda testet är beständig. Den ändras inte för testsviten eller testfallet. Du kan uppdatera dina tester utan att du behöver ändra ”skapa och släpp”-processerna.
Så här spelar du upp tester i webbläsaren:
Välj en testsvit eller ett testfall i det högra fönstret.
Klicka på Kopiera uppspelningslänk.
Du uppmanas att publicera dina tester om det finns ändringar som inte har publicerats.
Du kan välja att hoppa över publiceringsprocessen och kopiera uppspelningslänken. Nya ändringar spelas inte upp om du väljer att hoppar över publiceringen.
Öppna en webbläsare och klistra in URL:en i adressfältet för att spela upp testet.
Granska testuppspelningen.
Konfigurera dina tester
På egenskapen OnTestCaseStart egenskapen för en testsvit kan användas för att konfigurera testet. Det uttryck som anges för detta egenskapsutlösare för varje testärende i en svit innan ärendet börjar köras. OnTestCaseStart hjälper dig att undvika att skriva samma teststeg i början av varje ärende. Du kan anpassa egenskapen så att du kör konfigurera uppgifter som är gemensamma för alla ärenden i paketet, t.ex.:
- Starta alltid testning från den första skärmen.
- Vanliga samlingar eller variabler initieras.
- Hämtar testdata från en datakälla för det aktuella körningstestet
TestCaseInfo-posten innehåller information om det aktuella testet som körs. Det innehåller följande egenskaper: .
- TestCaseName – Namnet på testfallet.
- TestCaseDescription – beskrivningen av testärendet.
- TestCaseId – ID:t för testfallet.
- TestSuiteName – Namnet på testsviten som fallet tillhör.
- TestSuiteDescription – beskrivningen av testsviten.
- TestSuiteId – ID:t för testsviten som fallet tillhör.
I exemplet nedan anpassar du egenskapen OnTestCaseStart så att varje testfall börjar från den första skärmen i appen. Du hämtar också testdata från en datakälla som kan refereras i stegen för testärendet.
Klicka på Testa i det vänstra fönstret eller klicka på Visa i svithuvudet.
Välj åtgärden OnTestCaseStart.
Du kan ange ett uttryck för att navigera till den första skärmen och hämta testdata för testet.
//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)
Bearbeta testresultatet
Testpanelen som visas när du spelar upp tester i Test Studio visas inte när du använder webbläsaren. På grund av detta beteende kan du inte se vilka specifika teststeg som körs, eller om testet lyckas eller misslyckas.
För att ta reda på testresultat utanför Test Studio finns två egenskaper som heter OnTestCaseComplete och OnTestSuiteComplete i det testobjekt som du kan använda för att bearbeta resultatet av dina tester. När du integrerar tester i en kontinuerlig ”skapa och släpp”-pipeline, till exempel Azure DevOps, kan dessa egenskaper användas för att avgöra om du ska fortsätta med appdistributionen.
Det uttryck som anges för dessa egenskaper utlöses när varje fall eller svit slutförs. Du kan anpassa dessa egenskaper för att bearbeta och skicka resultatet av dina tester till olika datakällor eller tjänster, till exempel:
- SQL Server.
- Dataverse.
- Power Automate.
- E-post med Office 365.
De här inställningarna gäller för alla testsviter eller testfall i din app. När en testsvit eller ett testfall har slutförts är testresultatet och eventuella spårningsmeddelanden i testerna tillgängliga i posterna TestCaseResult och TestSuiteResult.
Posten TestCaseResult innehåller följande egenskaper:
- TestCaseName – Namnet på testfallet.
- TestCaseDescription – beskrivningen av testärendet.
- TestCaseId – ID:t för testfallet.
- TestSuiteName – Namnet på testsviten som fallet tillhör.
- TestSuiteDescription – beskrivningen av testsviten.
- TestSuiteId – ID:t för testsviten som fallet tillhör.
- StartTime – Starttiden för testkörningen.
- EndTime – Sluttiden för testkörningen.
- Traces – Resultatet av eventuella testkontroller och eventuella meddelanden från Trace-funktionen.
- Success – Anger om tesfallet har slutförts.
- TestFailureMessage – Felmeddelandet, om fallet misslyckades.
Posten TestSuiteResult innehåller följande egenskaper:
- TestSuiteName – Namnet på testsviten.
- TestSuiteDescription – beskrivningen av testsviten.
- TestSuiteId – ID:t för testsviten.
- StartTime – Starttiden för körningen av testsviten.
- EndTime – Sluttiden för körningen av testsviten.
- TestsPassed – Antalet testfall som har slutförts i sviten.
- TestsFailed – Antalet testfall som har misslyckats i sviten.
I den här snabbstarten skapar du två anpassade tabeller i Dataverse-databasen för att lagra testresultatet genom att anpassa egenskaperna OnTestCaseComplete och OnTestSuiteComplete:
Klicka på Testa i det vänstra fönstret eller klicka på Visa i svithuvudet.
Välj åtgärden OnTestCaseComplete.
Mata in ett uttryck för att bearbeta resultatet av testet. I följande exempel sparas varje testfallsresultat till den anpassade AppTestResults-tabellen i Dataverse. Testresultaten kan också lagras i SQL, SharePoint eller någon annan datakälla. Du kanske behöver ange eller öka Trace-fältet i datakällan.
Anteckning
Följande exempel ansluter till Microsoft Dataverse. Du kan skapa en enkel app eller skapa en app från grunden med Dataverse. Mer information om hur du ändrar posterna för en datakälla som används i följande exempel finns i referensen för 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 } );
Välj åtgärden OnTestCaseComplete.
Mata in ett uttryck för att bearbeta resultatet av testet. I följande exempel sparas varje testsvitresultat till den anpassade AppTestSuiteResults-tabellen 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 } );
Exempel på andra uttryck som du kan använda i dessa egenskaper:
Skicka resultat till ett flöde i Power Automate.
MyTestResultsFlow.Run(JSON(TestCaseResult))
Skicka dina resultat via e-post.
Office365.SendMailV2("someone@example.com", "Test case results", JSON(TestCaseResult, JSONFormat.IndentFour))
Få avisering via app om testresultatet.
Du kan till exempel få ett meddelande efter att testet har slutförts när du spelar upp testet i en webbläsare, utanför Test Studio.
Notify(TestCaseResult.TestCaseName & " : " & If( TestCaseResult.Success , " Passed" , TestCaseResult.TestFailureMessage) ,If( TestCaseResult.Success , NotificationType.Success , NotificationType.Error) )
Testfunktioner
Utöver funktionerna i Power Apps finns även följande funktioner som du normalt använder när du skapar tester.
Nästa steg
Anteckning
Kan du berätta om dina inställningar för dokumentationsspråk? Svara i en kort undersökning. (observera att undersökningen är på engelska)
Undersökningen tar ungefär sju minuter. Inga personuppgifter samlas in (sekretesspolicy).