Rad s alatom Test Studio
U ovom ćete brzom početku izraditi testove za aplikaciju radnog područja pod nazivom Kudos. Također možete istražiti i otkriti koncepte testiranja i primijeniti ih na pisanje testova za vlastite aplikacije radnog područja. Ogledna aplikacija Kudos dio je paketa aplikacija za angažiranje zaposlenika koje su dostupne za preuzimanje iz Početnog kompleta za iskustvo zaposlenika.
Pogledajte ovaj videozapis da biste saznali kako raditi s alatom Test Studio:
Pokretanje alata Test Studio
Prijavite se u sustav Power Apps.
Izradite novu aplikaciju ili uredite postojeću aplikaciju.
Spremite aplikaciju u servis Power Apps kako biste pokrenuli Test Studio.
Napomena
Morate spremiti aplikaciju prije nego što počnete pisati testove za aplikaciju.
U lijevom navigacijskom oknu odaberite opciju Napredni alati.
Odaberite Otvori testove kako biste otvorili Test Studio za ovu aplikaciju. Ova radnja otvara Test Studio u novoj kartici preglednika.

Napomena
Testovi se objavljuju i pohranjuju u paketu aplikacija. Izvoz i uvoz paketa aplikacija radnog područja u drugo okruženje također će uključivati sve testne definicije poput testnih paketa i testnih slučajeva koje ste izradili.
Izrada testnog paketa
Prema zadanim postavkama za vas će se u alatu Test Studio izraditi testni paket i testni slučaj. Testni paketi upotrebljavaju se za organiziranje testnih slučajeva. Aplikacija može sadržavati jedan ili više testnih paketa. Možete upotrebljavati zadani testni paket i slučaj kako biste odmah započeli pisati testove ili izraditi novi testni paket.
Odaberite Novi paket.
Ažurirajte Naziv i opis testnog paketa tako da odaberete polja na glavnoj rešetki.

Izrada testnog slučaja
Ovisno o načinu na koji želite organizirati ili grupirati testove, u testnom paketu možete izraditi više testnih slučajeva. Svaki slučaj može testirati određenu značajku ili podskup funkcionalnosti vaše aplikacije.
- Odaberite testni paket.
- U gornjem izborniku odaberite Novi slučaj kako biste izradili novi slučaj.
- Ažurirajte Naziv i opis testnog slučaja tako da odaberete polja na glavnoj rešetki.

Snimanje testnog slučaja
Testni slučaj sastoji se od testnih koraka koji sadrže radnje. Testne radnje napisane su pomoću izraza servisa Power Apps koji izvode zadatak. Tijekom interakcije sa aplikacijom možete upotrijebiti snimač za automatsko generiranje testnih koraka. Nakon snimanja možete ažurirati testni slučaj, dodati nove korake, izbrisati korake i napisati testne tvrdnje da biste potvrdili rezultat testa.
Napomena
U načinu snimanja reproducira se samo objavljena aplikacija. Prije nego što počnete snimati testni slučaj, objavite sve nedavne promjene u aplikaciji. Snimanje bez objavljivanja nedavnih promjena uzrokuje reprodukciju posljednje objavljene verzije aplikacije u načinu snimanja.
Odaberite Snimi s gornjeg izbornika. Ova radnja otvara objavljenu aplikaciju s načinom snimanja na novoj kartici preglednika.
Važno
Snimanje postojećeg testnog slučaja zamjenjuje sve postojeće testne korake.

Stupite u interakciju sa svojom aplikacijom. Vaše su radnje zabilježene u lijevom oknu.
Nakon završetka interakcije odaberite Gotovo. Po želji možete odabrati opciju Otkaži da biste se vratili u Test Studio bez snimanja interakcija.

Pregledajte testne korake i izraze koji su automatski generirani za vas u usluzi Test Studio.
Po potrebi uredite tekst opisa koraka u glavnoj rešetki. Radnje testnih koraka možete i ažurirati odabirom formule na glavnoj rešetki.

Dodajte testne korake i testne tvrdnje
Svaki testni slučaj trebao bi imati očekivani rezultat. Na primjeru aplikacije Kudos, jedan od očekivanih rezultata slanja pohvala jest izrada novog zapisa u bazi podataka usluge Microsoft Dataverse (Dataverse). Sada ćete ažurirati testni slučaj i dodati dodatne testne korake za potvrdu da je zapis uspješno stvoren.
Slijedite ove korake kako biste potvrdili uspješnu izradu zapisa:
- Na početku testnog slučaja pokrenite varijablu za brojenje zapisa pohvala u bazi podataka.
- Na kraju testnog slučaja pokrenite varijablu za brojenje zapisa pohvala u bazi podataka.
- Napišite izraz testne tvrdnje kako biste ga potvrdili uvećanjem za jedan broj. Ako se broj ne poveća za jedan, potvrda testa nije uspjela i testni slučaj nije uspio.
Da biste dodali testne korake i testne tvrdnje u aplikaciju Kudos:
Odaberite 1. korak ili prethodni korak koji želite umetnuti kao novi korak.
Odaberite Umetni prethodni korak s gornjeg izbornika ili odabirom opcije iz aktivnog retka. Ova radnja stvara prazan korak.

Napomena
Kad odaberete opciju Umetni prethodni korak, novi prazni korak dodaje se iznad trenutačnog koraka. Umjesto toga možete upotrijebiti i radnje Potvrdi, PostaviSvojstvo, Odaberi ili Praćenje. Time se dodaje korak s odgovarajućom formulom radnje koju možete urediti.
Ažurirajte opis koraka. Na primjer, „Broji pohvale u bazi podataka”.
Unesite izraz ili formulu u ulaznu radnju kako biste prije izvršavanja testa izbrojali zapise u bazi podataka.
Možete koristiti bilo koji podržani izraz. Možete i pokrenuti upite za sve izvore podataka, zbirke, varijable ili pokrenuti tokove sadržane u vašoj aplikaciji i stvoriti nove globalne varijable ili zbirke koje ćete koristiti u svojim testovima.
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 the test results record.
Trace("kudosBeforeTest : " & kudosBeforeTest);
Prijeđite na dno testnog slučaja i umetnite novi korak da biste izbrojali zapise u bazi podataka nakon završetka testa.
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)
Spremite testni slučaj na gornjem desnom izborniku u usluzi Test Studio.
Reproduciranje testa
Možete reproducirati snimljeni test kako biste potvrdili funkcionalnost aplikacije. Možete reproducirati sve testove unutar istog testnog paketa ili istog testnog slučaja.
Morate objaviti aplikaciju prije reprodukcije snimke s nedavnim izmjenama:

Važno
Ako preskočite objavljivanje, reprodukcija snimke neće sadržavati vaše nedavne testne promjene. U aplikaciji će se reproducirati posljednji objavljeni testni slučaj ili paket.
Odaberite Objavi za automatsko spremanje i objavu vašeg testa.

Odaberite testni paket ili pojedinačni testni slučaj.
Odaberite Reproduciraj. Objavljena aplikacija otvara se u načinu Reprodukcija i možete vidjeti kako se testni koraci automatski reproduciraju. Zelena kvačica označava uspješno izvršavanje testnog koraka. Ako korak ne bude uspješan, prikazat će se crveni indikator neuspjeha zajedno s porukom o neuspjehu.

Za povratak u Test Studio odaberite Gotovo.
Neuspješna tvrdnja
U ovom odjeljku promijenit ćete testnu tvrdnju kako biste iskusili neuspješan test:
Odabirom okvira za izraz uredite korak tvrdnje.
U testnoj radnji ažurirajte
+ 1na+ 2. Ovo ažuriranje znači da test očekuje stvaranje dva zapisa što je netočno. Ako test bude uspješan, u bazi podataka izradit će se samo jedan zapis.Assert(kudosAfterTest = kudosBeforeTest + 2, "Kudos count incorrect. Expected : " & kudosBeforeTest + 2 & " Actual :" & kudosAfterTest)
Odaberite Objavi.
Odaberite Reproduciraj.
Pregledajte reprodukciju testa. Završni je korak sada neuspješan i prikazuje pogrešku i poruku koju ste naveli u koraku tvrdnje.

Reprodukcija testova u pregledniku
Možete kopirati vezu za pokretanje testa u zasebnom pregledniku izvan alata Test Studio. To vam pomaže da integrirate svoje testove u kanal za kontinuiranu izgradnju i izdavanje, kao što je Azure DevOps.
Postoji veza za reprodukciju odabranog testa. Ne mijenja se za testni paket niti za testni slučaj. Testove možete ažurirati bez potrebe za izmjenom postupka izrade međuverzije i izdanja.
Kako biste reproducirali testove u pregledniku:
Odaberite testni paket ili testni slučaj u desnom oknu.
Odaberite Kopiraj vezu za reprodukciju.

Od vas će se zatražiti da objavite svoje testove ako postoje neobjavljene promjene.

Možete odabrati preskočiti postupak objavljivanja i kopirati vezu za reprodukciju. Nove promjene testa ne reproduciraju se ako preskočite.

Otvorite preglednik i zalijepite URL u adresnu traku da biste reproducirali test.
Pregledajte reprodukciju testa.
Postavljanje testova
Svojstvo OnTestCaseStart alata Test Suite može se koristiti za postavljanje testa. Izraz unesen za ovo svojstvo pokreće se za svaki testni slučaj u paketu prije nego što se slučaj počne izvršavati. OnTestCaseStart pomaže vam izbjeći pisanje istih koraka testa na početku svakog slučaja. Ovo svojstvo možete prilagoditi za pokretanje postavljanja zadataka koji su zajednički za sve slučajeve u paketu, kao što su:
- Uvijek započnite s izvršavanjem testa s prvog zaslona.
- Inicijalizacija zajedničkih zbirki ili varijabli.
- Dohvaćanje podataka testa iz izvora podataka za trenutačni izvođeni test
Zapis TestCaseInfo sadrži detalje o trenutačnom testu koji se izvodi. Sadrži sljedeća svojstva:
- TestCaseName – naziv testnog slučaja.
- TestCaseDescription – opis testnog slučaja.
- TestCaseId – ID testnog slučaja.
- TestSuiteName – naziv testnog paketa kojem slučaj pripada.
- TestCaseDescription – opis testnog paketa.
- TestSuiteId – ID testnog paketa kojem slučaj pripada.
U primjeru u nastavku prilagodit ćete svojstvo OnTestCaseStart tako da svaki testni slučaj započinje s prvog zaslona u vašoj aplikaciji. Podatke testova također ćete preuzeti iz izvora podataka na koji se može uputiti u koracima za testni slučaj.
Odaberite opciju Test u lijevom oknu ili Pregled u zaglavlju paketa.

Odaberite radnju OnTestCaseStart.
Unesite izraz za navigaciju do prvog zaslona i dohvatite testne podatke za svoj 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)
Obrada rezultata testa
Testna ploča vidljiva tijekom reprodukcije testova u alatu Test Studio nije vidljiva kada koristite preglednik. Zbog takvog ponašanja ne možete odrediti određeni testni korak koji se izvršava ili ako test uspije ili ne uspije.
Za određivanje rezultata testa izvan alata Test Studio postoje dva svojstva pod nazivom OnTestCaseComplete i OnTestSuiteComplete dostupna u testnom objektu koji možete upotrebljavati za obradu rezultata testova. Prilikom integriranja testova u kontinuirani kanal međuverzija i izdanja kao što je Azure DevOps, ta se svojstva mogu upotrijebiti kako biste utvrdili trebate li nastaviti s primjenom aplikacije.
Izraz unesen za ta svojstva pokreće se završetkom svakog slučaja ili paketa. Ova svojstva možete prilagoditi kako biste obrađivali i slali rezultate testova u različite izvore podataka ili usluge kao što su:
- SQL Server.
- Dataverse.
- Power Automate.
- Pošaljite e-poštu pomoću sustava Office 365.
Ove se postavke primjenjuju na svaki testni paket ili testni slučaj u vašoj aplikaciji. Nakon dovršetka svakog testnog paketa ili testnog slučaja, rezultati testa i sve poruke za praćenje sadržane u testovima dostupne su u zapisima TestCaseResult i TestSuiteResult.
Zapis TestCaseResult sadrži sljedeća svojstva:
- TestCaseName – naziv testnog slučaja.
- TestCaseDescription – opis testnog slučaja.
- TestCaseId – ID testnog slučaja.
- TestSuiteName – naziv testnog paketa kojem slučaj pripada.
- TestCaseDescription – opis testnog paketa.
- TestSuiteId – ID testnog paketa kojem slučaj pripada.
- StartTime – vrijeme početka izvršavanja testa.
- EndTime – vrijeme završetka izvršavanja testa.
- Traces – rezultat testnih tvrdnji i poruka funkcije Praćenje.
- Success – označava je li testni slučaj uspješno završen.
- TestFailureMessage – poruka o neuspjehu, ako slučaj nije bio uspješan.
Zapis TestSuiteResult sadrži sljedeća svojstva:
- TestSuiteName – naziv testnog paketa.
- TestCaseDescription – opis testnog paketa.
- TestSuiteId – ID testnog paketa.
- StartTime – vrijeme početka izvršavanja testnog paketa.
- EndTime – vrijeme završetka izvršavanja testnog paketa.
- TestsPassed – broj uspješno završenih testnih slučajeva u paketu.
- TestsFailed – broj neuspješno završenih testnih slučajeva u paketu.
U ovom brzom početku stvorit ćete dvije prilagođene tablice u bazi podataka usluge Dataverse za pohranu rezultata ispitivanja prilagođavanjem svojstava OnTestCaseComplete i OnTestSuiteComplete:
Odaberite opciju Test u lijevom oknu ili Pregled u zaglavlju paketa.

Odaberite radnju OnTestCaseComplete.
Unesite izraz za obradu rezultata vašeg testa. Sljedeći uzorak sprema rezultate svakog ispitivanja slučaja u prilagođenu tablicu AppTestResults na usluzi Dataverse. Rezultati testa mogu se po želji pohraniti u SQL, SharePoint ili bilo koji drugi izvor podataka. Možda ćete po potrebi trebati postaviti ili povećati polje Praćenje u svom izvoru podataka.
Napomena
Sljedeći se uzorci povezuju s uslugom Microsoft Dataverse. Možete izraditi i jednostavnu aplikaciju ili izraditi aplikaciju ispočetka pomoću usluge Dataverse. Također, za više pojedinosti o izmjeni zapisa izvora podataka koji se upotrebljavaju u sljedećim uzorcima proučite referenca funkcije Zakrpa.
//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 } );
Odaberite radnju OnTestSuiteComplete.
Unesite izraz za obradu rezultata vašeg testa. U sljedećem uzorku spremit ćete rezultate svakog testnog paketa u prilagođenu tablicu AppTestResults na usluzi 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 } );
Ostali primjeri izraza koje biste mogli upotrijebiti u ovim svojstvima jesu:
Pošaljite rezultate tijeku usluge Power Automate.
MyTestResultsFlow.Run(JSON(TestCaseResult))Pošaljite rezultate e-poštom.
Office365.SendMailV2("someone@example.com", "Test case results", JSON(TestCaseResult, JSONFormat.IndentFour))Primite obavijest aplikacije o rezultatu testa.
Na primjer, primite obavijest nakon završetka testa i tijekom reprodukcije testa u pregledniku, izvan alata Test Studio.
Notify(TestCaseResult.TestCaseName & " : " & If( TestCaseResult.Success , " Passed" , TestCaseResult.TestFailureMessage) ,If( TestCaseResult.Success , NotificationType.Success , NotificationType.Error) )
Funkcije testa
Uz funkcije dostupne na platformi Power Apps, sljedeće su uobičajene funkcije koje obično koristite prilikom pisanja testova: