Rad sa programom Test Studio

U ovom brzom početku, kreiraćete testove za aplikacije sa podlogom pod nazivom Kudos. Takođe možete da istražite i otkrijete koncepte testiranja i da ih primenite na pisanje testova za sopstvene aplikacije sa podlogom. Probna aplikacija Kudos deo je skupa aplikacija za angažovanje zaposlenih i dostupna je za preuzimanje iz kompleta za početnike u radu sa zaposlenima.

Pogledajte ovaj video zapis da biste saznali kako da radite sa uslugom Test Studio:

Otvorite Test Studio

  1. Prijavite se u Power Apps.

  2. Kreirajte novu aplikaciju ili uredite postojeću aplikaciju.

  3. Sačuvajte aplikaciju u Power Apps da biste otvorili Test Studio.

    Napomena

    Morate da sačuvate aplikaciju pre nego što možete da pišete testove za aplikaciju.

  4. Izaberite Napredne alatke u levom oknu za navigaciju.

  5. Izaberite Otvori testove da biste otvorili Test Studio za ovu aplikaciju. Ova radnja otvara Test Studio u novoj kartici pregledača.

    Otvorite Test Studio.

Napomena

Testovi se objavljuju i čuvaju u paketu aplikacija. Izvoz i uvoz aplikacije sa podlogom u drugo okruženje takođe će uključivati sve definicije testa, kao što su paketi testova i predmeti za testiranje koje ste kreirali.

Kreirajte paket testova

U programu Test Studio za vas se podrazumevano kreira paket testova i predmet za testiranje. Paketi testova se koriste za organizovanje predmeta za testiranje. Aplikacija može da sadrži jedan paket testova ili više njih. Možete koristiti podrazumevani paket testova ili predmet za testiranje da biste odmah počeli da pišete testove ili kreirali novi paket testova.

  1. Izaberite Novi paket.

  2. Ažurirajte Naziv i opis paketa testova odabirom polja na glavnoj mreži.

    Novi paket testova.

Kreiranje predmeta za testiranje

U zavisnosti od načina na koji želite da organizujete ili grupišete svoje testove, možete da kreirate više predmeta za testiranje u paketu testova. Svaki predmet može da testira određenu funkciju ili podskup funkcionalnost u aplikaciji.

  1. Izaberite paket testova.
  2. Izaberite Novi predmet u gornjem meniju da biste kreirali novi predmet.
  3. Ažurirajte Naziv i opis predmeta za testiranje odabirom polja na glavnoj mreži.

Novi slučaj za testiranje.

Snimanje predmeta za testiranje

Predmet za testiranje se sastoji od koraka testiranja koji sadrže radnje. Radnje testiranja se zapisuju koristeći Power Apps izraze koji obavljaju zadatak. Možete da koristite diktafon za automatsko generisanje koraka testiranja tokom interakcije sa aplikacijom. Nakon što zabeležite predmet za testiranje, možete da ga ažurirate, da dodate nove korake, izbrišete korake i da napišete tvrdnje za testiranje kako biste potvrdili rezultat testa.

Napomena

U režimu snimanja reprodukuje se samo objavljena aplikacija. Objavite sve nedavne promene u aplikaciji pre nego što započnete snimanje predmeta za testiranje. Snimanje bez objavljivanja nedavnih promena dovodi do toga da se poslednja objavljena verzija aplikacije reprodukuje u režimu snimanja.

  1. Izaberite Snimi u gornjem meniju. Ova radnja otvara objavljenu aplikaciju sa režimom snimanja na novoj kartici pregledača.

    Važno

    Snimanje na postojećem predmetu za testiranje nadmašuje sve postojeće korake testiranja.

    Snimite testove.

  2. Ostvarite interakciju sa svojom aplikacijom. Vaše radnje su snimljene u levom oknu.

  3. Kada se interakcija završi, izaberite Gotovo. Po želji, možete da izaberete Otkaži da biste se vratili u Test Studio bez snimanja interakcija.

    Sačuvaj zapis.

  4. Pogledajte korake i izraze testiranja koji su automatski generisani za vas u programu Test Studio.

  5. Po potrebi uredite tekst opisa koraka u glavnoj mreži. Takođe možete ažurirati radnje koraka testiranja odabirom formule na glavnoj mreži.

    Ažuriraj slučaj za testiranje.

Dodavanje koraka testiranja i tvrdnji testiranja

Svaki slučaj za testiranje treba da ima očekivani rezultat. U primeru Kudosa, jedan od očekivanih rezultata slanja pohvale je kreiranje novog zapisa u bazi podataka Microsoft Dataverse (Dataverse). Sada ćete ažurirati test-slučaj i dodati dodatne korake testa da biste potvrdili da je zapis uspešno kreiran.

Sledite ove korake da biste proverili uspešno kreiranje zapisa:

  • Pokrenite promenljivu za broj zapisa pohvala u bazi podataka na početku predmeta za testiranje.
  • Pokrenite promenljivu za broj zapisa pohvala u bazi podataka na kraju predmeta za testiranje.
  • Napišite izraz tvrdnje testiranja da biste ga potvrdili povećanim za jedno brojanje. Ako se broj ne poveća za jedan, tvrdnja testiranja ne uspe i test-slučaj ne uspe.

Da biste dodali korake testiranja i tvrdnje testiranja u aplikaciju Kudos:

  1. Izaberite 1. korak ili korak iznad kog želite da umetnete novi korak.

  2. Izaberite Umetni korak iznad u gornjem meniju ili odabirom opcije u aktivnom redu. Ova radnja kreira prazan korak.

    Umetni korak.

    Napomena

    Kada izaberete Umetni korak iznad, dodaje se novi prazan korak iznad trenutnog koraka. Takođe možete da koristite radnju Assert, SetProperty, Select ili Trace. Dodaje se korak sa odgovarajućom formulom radnje koju možete da izmenite.

  3. Ažurirajte opis koraka. Na primer, „Broji Kudo u bazi podataka“.

  4. Unesite izraz ili formulu u ulazni postupak da biste brojali zapise u bazi podataka pre izvršenja testa.

    Možete koristiti bilo koji podržani izraz. Takođe možete da postavljate upit za bilo koji izvor podataka, kolekciju, promenljivu ili pokrećete tokove koji se nalaze u aplikaciji i da kreirate nove globalne promenljive ili kolekcije koje ćete koristiti u testovima.

    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 pre testa.

  8. Idite na podnožje predmeta za testiranje i umetnite novi korak da biste brojali zapise u bazi podataka nakon što se test završi.

    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 nakon potvrde testa.

  10. Sačuvajte test predmet u meniju gore desno u programu Test Studio.

Reprodukovanje testa

Možete da reprodukujete snimljeni test da biste potvrdili funkcionalnost aplikacije. Možete reprodukovati sve testove u okviru jednog paketa testova ili u jednom predmetu za testiranje.

Pre nego što reprodukujete snimak sa poslednjim izmenama, morate objaviti aplikaciju:

Reprodukujte bez objavljivanja.

Važno

Ako preskočite objavljivanje, reprodukcija snimka neće sadržati nedavne promene testa. Poslednji objavljeni predmet za testiranje ili paket testova će se reprodukovati neusklađeni sa aplikacijom.

  1. Izaberite Objavi da automatski sačuvate i objavite test.

    Objavljivanje promena.

  2. Izaberite ili paket testova ili jedan predmet za testiranje.

  3. Izaberite Reprodukuj. Objavljena aplikacija se otvara u režimu Reprodukovanje i možete videti da se vaši koraci testiranja automatski reprodukuju. Zeleni znak potvrde označava kada se korak testiranja uspešno izvršava. Ako se korak ne izvršava, prikazuje se crveni indikator greške zajedno sa porukom o grešci.

    Režim reprodukovanja.

  4. Izaberite Gotovo da biste se vratili u Test Studio.

Neuspešna tvrdnja

U ovom odeljku ćete promeniti tvrdnju testa da biste doživeli neuspeli test:

  1. Uredite korak tvrdnje odabirom polja sa izrazom.

  2. Ažurirajte + 1 na + 2 u radnji testa. Ovo ažuriranje znači da test očekuje da će biti kreirana dva zapisa, što je netačno. Ako je test uspešan, u bazi podataka treba kreirati samo jedan zapis.

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

    Ažuriranje broja tvrdnji.

  3. Izaberite Objavi.

  4. Izaberite Reprodukuj.

  5. Pogledajte test koji se reprodukuje. Završni korak sada ne uspeva i prikazuje grešku i poruku koju ste naveli u koraku tvrdnje.

    Greška prilikom reprodukcije.

Reprodukovanje testova u pregledaču

Možete da kopirate vezu za obavljanje testa u zasebnom pregledaču izvan programa Test Studio. To vam pomaže da integrišete testove u kontinuiranu izradu i kanal izdanja kao što je Azure DevOps.

Veza za reprodukciju za izabrani test je i dalje zadržana. Ne menja se za komplet testova ili predmet za testiranje. Možete da ažurirate svoje testove bez potrebe da menjate procese izgradnje i izdavanja.

Da biste reprodukovali testove u pregledaču:

  1. U desnom oknu izaberite paket testova ili predmet za testiranje.

  2. Izaberite Kopiraj vezu za reprodukciju.

    Kopiraj vezu za reprodukciju.

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

    Objavite pre kopiranja veze.

  4. Možete da preskočite postupak objavljivanja i da kopirate vezu za reprodukciju. Nove promene testa se ne pokreću ako preskočite postupak.

    Reprodukuj kopirnu vezu.

  5. Otvorite pregledač i nalepite URL adresu u traku adrese da biste reprodukovali test.

  6. Pogledajte test koji se reprodukuje.

Podesite svoje testove

Za podešavanje testa možete koristiti svojstvo OnTestCaseStart paketa za testiranje. Izraz unesen u ovo svojstvo pokreće se za svaki test-slučaj u paketu pre nego što slučaj počne da se izvršava. OnTestCaseStart vam pomaže da izbegnete pisanje istih koraka testiranja na početku svakog slučaja. Možete da prilagodite ovo svojstvo da pokreće zadatke postavljanja koji su zajednički za sve slučajeve u paketu, kao što su:

  • Uvek započnite izvršavanje testa sa prvog ekrana.
  • Pokretanje zajedničkih kolekcija ili promenljivih.
  • Pribavljanje podataka za testiranje iz izvora podataka za test koji se trenutno izvršava

Zapis TestCaseInfo sadrži detalje za trenutni test koji se izvodi. On sadrži sledeća svojstva:

  • TestCaseName – naziv predmeta za testiranje.
  • TestCaseDescription – opis test-slučaja.
  • TestCaseName – ID predmeta za testiranje.
  • TestSuiteName – naziv paketa testova kome predmet pripada.
  • TestSuiteDescription – opis paketa za testiranje.
  • TestSuiteId – ID paketa testova kome predmet pripada.

U primeru u nastavku, prilagodićete svojstvo OnTestCaseStart, tako da svaki test-slučaj počinje od prvog ekrana u vašoj aplikaciji. Takođe ćete pribaviti test-podatke iz izvora podataka na koje se može pozivati u koracima za test-slučaj.

  1. Izaberite Test u levom oknu ili Prikaz u zaglavlju paketa.

    Testiraj ili prikaži svojstvo skupa.

  2. Izaberite radnju OnTestCaseStart.

  3. Unesite izraz za navigaciju do prvog ekrana i pribavite podatke za testiranje 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)
    

    Primer OnTestCaseStart.

Obrada rezultata testiranja

Tabla za testiranje, koja je vidljiva tokom reprodukcije testova u programu Test Studio, nije vidljiva kada koristite pregledač. Zbog ovakvog ponašanja, ne možete odrediti određeni korak testiranja koji se izvršava ili ako test uspe ili ne uspe.

Da bi se utvrdili rezultate testiranja van programa Test Studio, postoje dva svojstva koja se nazivaju OnTestCaseComplete i OnTestSuiteComplete, koja su dostupna u predmetu testiranja i koje možete koristiti za obradu rezultata testova. Kada se testovi integrišu u kontinuiranu izgradnju i izdavanje kanala, kao što je Azure DevOps, ova svojstva se mogu koristiti za određivanje da li treba da nastavite sa primenom aplikacije.

Izraz koji je unet za ova svojstva se pokreće kada se završi svaki predmet ili paket. Možete prilagoditi ova svojstva tako da obrađuju i šalju rezultate testova različitim izvorima podataka ili uslugama kao što su:

  • SQL Server.
  • Dataverse.
  • Power Automate.
  • E-pošta koja koristi Office 365.

Ova podešavanja se odnose se na svaki paket testova ili predmet za testiranje u vašoj aplikaciji. Nakon što se završi svaki komplet testova ili predmet za testiranje, rezultati ispitivanja i sve poruke o tragovima sadržane u testovima su dostupne u zapisima TestCaseResult i TestSuiteResult.

Zapis TestCaseResult sadrži sledeća svojstva:

  • TestCaseName – naziv predmeta za testiranje.
  • TestCaseDescription – opis test-slučaja.
  • TestCaseName – ID predmeta za testiranje.
  • TestSuiteName – naziv paketa testova kome predmet pripada.
  • TestSuiteDescription – opis paketa za testiranje.
  • TestSuiteId – ID paketa testova kome predmet pripada.
  • StartTime – vreme početka izvođenja testa.
  • EndTime – vreme završetka izvođenja testa.
  • Traces – rezultat svih tvrdnji testiranja i svih poruka u funkciji Trace.
  • Success – označava da li je predmet za testiranje uspešno završen.
  • TestFailureMessage – ako predmet nije uspeo, poruka o neuspehu.

Zapis TestSuiteResult sadrži sledeća svojstva:

  • TestSuiteName – naziv paketa testova.
  • TestSuiteDescription – opis paketa za testiranje.
  • TestSuiteId – ID paketa testova.
  • StartTime – vreme početka izvođenja paketa testova.
  • EndTime – vreme završetka izvođenja paketa testova.
  • TestsPassed – broj predmeta za testiranje koji su uspešno završeni u kompletu.
  • TestsFailed – broj predmeta za testiranje koji nisu uspeli u kompletu.

U ovom brzom startu, kreiraćete dve prilagođene tabele u Dataverse bazi podataka za čuvanje rezultata testa prilagođavanjem svojstava OnTestCaseComplete i OnTestSuiteComplete:

  1. Izaberite Test u levom oknu ili Prikaz u zaglavlju paketa.

    Testiraj ili prikaži svojstvo skupa.

  2. Izaberite radnju OnTestCaseComplete.

  3. Unesite izraz da biste obradili rezultate testa. Sledeći uzorak čuva rezultate svakog testa predmeta u prilagođenoj tabeli AppTestResults u usluzi Dataverse. Rezultati ispitivanja se opcionalno mogu sačuvati u SQL, SharePoint ili bilo kom drugom izvoru podataka. Možda ćete morati da postavite ili povećate polje Trace u izvoru podataka prema potrebi.

    Napomena

    Sledeći primeri se povezuju sa uslugom Microsoft Dataverse. Možete da kreirate jednostavnu aplikaciju ili da napravite aplikaciju ispočetka koristeći Dataverse. Takođe, pogledajte referencu za funkciju Patch za više detalja o izmeni zapisa u izvoru podataka korišćenom u sledećim primerima.

    //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 primer.

  4. Izaberite radnju OnTestSuiteComplete.

  5. Unesite izraz da biste obradili rezultate testa. U sledećem primeru, sačuvaćete rezultate svakog testa paketa u prilagođenoj tabeli AppTestSuiteResults u 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
        }
    );
    

    OnTestSuiteComplete primer.

Ostali primeri izraza koje možete koristiti u ovim svojstvima su:

  • Pošaljite rezultate u tok u Power Automate.

    MyTestResultsFlow.Run(JSON(TestCaseResult))
    
  • Pošaljite rezultate putem e-pošte.

    Office365.SendMailV2("someone@example.com", "Test case results", JSON(TestCaseResult, JSONFormat.IndentFour))
    
  • Primite obaveštenje aplikacije o rezultatu testa.

    Na primer, primite obaveštenje nakon završetka testa tokom reprodukcije testa u pregledaču, izvan programa Test Studio.

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

Funkcije testiranja

Uz funkcije dostupne u usluzi Power Apps, slede uobičajene funkcije koje obično koristite prilikom pisanja testova:

Sledeći koraci

Napomena

Možete li nam reći o svojim željenim postavkama jezika u dokumentaciji? Ispunite kratku anketu. (imajte na umu da je ova anketa na engleskom jeziku)

Anketa će trajati oko sedam minuta. Ne prikupljaju se lični podaci (izjava o privatnosti).