Lucrul cu Test Studio
În această pornire rapidă, veți crea teste pentru o aplicație proiectată pe pânză numită Kudos. De asemenea, puteți explora și descoperi concepte de testare și le puteți aplica la testele de scriere pentru propriile aplicații proiectate pe pânză. Aplicația eșantion Kudos face parte dintr-o suită de aplicații implicare angajat disponibile pentru a fi descărcate de pe Kit de pornire Experiență angajați.
Urmăriți acest videoclip pentru a afla cum să lucrați cu Test Studio:
Deschidere Test Studio
Conectați-vă la Power Apps.
Creați o aplicație nouă sau editați o aplicație existentă.
Salvați aplicația dvs. în Power Apps pentru a deschide Test Studio.
Notă
Trebuie să salvați o aplicație înainte de a putea scrie teste pentru aplicație.
Selectați Instrumente avansate în navigarea din stânga.
Selectați Deschidere teste pentru a deschide Test Studio pentru această aplicație. Această acțiune deschide Test Studio într-o nouă filă de browser.
Notă
Testele sunt publicate și stocate în pachetul de aplicații. Exportarea și importarea unui pachet de aplicații proiectate pe pânză într-un alt mediu va include, de asemenea, toate definițiile testului, cum ar fi seturile de test și cazurile de test pe care le-ați creat.
Creați un set de teste
În mod implicit, un set de test și un caz de test sunt create pentru dvs. în Test Studio. Seturile de test sunt utilizate pentru a vă organiza cazurile de test. O aplicație poate conține unul sau mai multe seturi de test. Puteți utiliza setul și cazul de test implicit pentru a începe să vă scrieți imediat testele sau să creați un nou set de test.
Selectați Set nou.
Actualizați Numele și descrierea setului de test prin selectarea câmpurilor din grila principală.
Creați un caz de test
În funcție de modul în care doriți să vă organizați sau să grupați testele, puteți crea mai multe cazuri de test într-un set de test. Fiecare caz poate testa o anumită caracteristică sau un subset de funcționalități din aplicația dvs.
- Selectați un set de test.
- Selectați Caz nou în meniul de sus pentru a crea un caz nou.
- Actualizați Numele și descrierea cazului de test prin selectarea câmpurilor din grila principală.
Înregistrați un caz de test
Un caz de test este format din pași de test care conțin acțiuni. Acțiunile de testare sunt scrise folosind expresii Power Apps care îndeplinesc o sarcină. Puteți utiliza înregistratorul pentru a genera automat pașii testului în timp ce interacționați cu aplicația. După ce înregistrați, puteți actualiza cazul de test, adăugați pași noi, ștergeți pași și scrieți aserțiunile testului pentru a valida rezultatul testului dvs.
Notă
Doar o aplicație publicată joacă în modul înregistrare. Publicați modificările recente ale aplicației înainte de a începe înregistrarea unui caz de test. Înregistrarea fără publicarea modificărilor recente determină redarea ultimei versiuni a aplicației în modul înregistrare.
Selectați Înregistrare din meniul de sus. Această acțiune deschide aplicația publicată cu modul de înregistrare într-o nouă filă de browser.
Important
Înregistrarea pe un caz de test existent înlocuiește toate etapele de test deja existente.
Interacționați cu aplicația dvs. Acțiunile dvs. sunt înregistrat în panoul din stânga.
După finalizarea interacțiunii, selectați Terminat. Opțional, puteți selecta Anulare pentru a reveni la Test Studio fără ca interacțiunile dvs. să fie înregistrate.
Vizualizați pașii și expresiile de testare care au fost generate automat pentru dvs. în Test Studio.
Editați textul cu descrierea pasului în grila principală, dacă este necesar. Puteți, de asemenea, să actualizați acțiunile de pas de testare selectând formula din grila principală.
Adăugați pași de testare și aserțiunile de testare
Fiecare caz de test ar trebui să aibă un rezultat preconizat. În exemplul Kudos, unul dintre rezultatele preconizate ale trimiterii unui kudo este crearea unei noi înregistrări în baza de date Microsoft Dataverse (Dataverse). Acum veți actualiza cazul de testare și adăugați pași de test suplimentari pentru a valida dacă o înregistrare a fost creată cu succes.
Urmați acești pași pentru a verifica o creare de înregistrare reușită:
- Inițializați o variabilă pentru numărul de înregistrări kudo din baza de date la începutul cazului de test.
- Inițializați o variabilă pentru numărul de înregistrări kudo din baza de date la sfârșitul cazului de test.
- Scrieți o expresie de aserțiune test pentru a o valida incrementată cu un număr. Dacă numărul nu crește cu unu, aserțiunea de test eșuează, iar cazul dvs. de testare eșuează.
Pentru a adăuga pași de testare și aserțiuni de testare în aplicația Kudos:
Selectați Pasul 1 sau pasul de deasupra căruia doriți să introduceți un nou pas.
Selectați Introduceți un pas mai sus din meniul de sus sau prin selectarea opțiunii din rândul activ. Această acțiune creează un pas gol.
Notă
Când selectați Introduceți pasul de mai sus, un nou pas gol este adăugată peste pasul curent. Puteți utiliza, de asemenea, în schimb acțiunile Assert, SetProperty, Selectare sau Urmărire. Aceasta adaugă un pas cu o formulă de acțiune respectivă pe care o puteți edita.
Actualizați descrierea pasului. De exemplu, „Număr Kudo în baza de date”.
Introduceți o expresie sau o formulă în intrarea acțiunii pentru a număra înregistrările din baza de date înainte de a executa testul.
Puteți utiliza orice expresie acceptată. De asemenea, puteți interoga orice surse de date, colecții, variabile sau fluxuri de rulare care sunt conținute în aplicația dvs. și puteți crea noi variabile globale sau colecții pentru a le utiliza în testele dvs.
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);
Accesați partea de jos a cazului de testare și introduceți un nou pas pentru numărarea înregistrărilor în baza de date după finalizarea testului.
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)
Salvați cazul de test din meniul din dreapta sus din Test Studio.
Redați testul
Puteți reda testul înregistrat pentru a valida funcționalitatea aplicației. Puteți reda toate testele dintr-un singur set de test sau un singur caz de test.
Înainte de a reda înregistrarea cu modificări recente, trebuie să publicați aplicația:
Important
Dacă săriți publicarea, redarea înregistrării nu va conține modificările recente ale testului. Ultimul set sau caz de test publicat va juca împotriva aplicației.
Selectați Publicare pentru a salva și publica automat testul.
Selectați fie un set de test, fie un singur caz de test.
Selectați Redare. Aplicația publicată se deschide în modul Redare și puteți vedea pașii testului dvs. redându-se automat. O bifă verde indică dacă o etapă de test este executată cu succes. Dacă un pas eșuează, este afișat un indicator roșu de eșec împreună cu un mesaj de eroare.
Selectați Terminat pentru a reveni la Test Studio.
Aserțiune eșuată
În această secțiune, veți modifica aserțiunea testului pentru a experimenta un test eșuat:
Editați pasul de aserțiune selectând caseta de expresie.
Actualizați
+ 1
la+ 2
în acțiunea de testare. Această actualizare înseamnă că testul se așteaptă să fie create două înregistrări, ceea ce este incorect. Dacă testul are succes, ar trebui creată o singură înregistrare în baza de date.Assert(kudosAfterTest = kudosBeforeTest + 2, "Kudos count incorrect. Expected : " & kudosBeforeTest + 2 & " Actual :" & kudosAfterTest)
Selectați Publicare.
Selectați Redare.
Vizualizați testul redând. Pasul final eșuează acum și arată o eroare și mesajul pe care l-ați furnizat în pasul de aserțiune.
Redarea testelor într-un browser
Puteți copia un link pentru a reda un test într-un browser separat în afara Test Studio. Vă ajută să vă integrați testele într-un canal de creare și eliberare continuă, cum ar fi Azure DevOps.
Linkul de redare pentru testul selectat persistă. Nu se schimbă pentru setul de test sau cazul de test. Vă puteți actualiza testele fără a fi necesară modificarea canalului de implementare și lansare.
Pentru a reda teste în browserul dvs.:
Selectați un set de test sau un caz de test în panoul din dreapta.
Selectați Copiază linkul de redare.
Vi se solicită să vă publicați testele dacă există modificări nepublicate.
Puteți selecta să săriți procesul de publicare și să copiați linkul de redare. Noile modificări de test nu se redau dacă le omiteți.
Deschideți un browser și lipiți URL-ul în bara de adrese pentru a reda testul.
Vizualizați redarea testului.
Configurați-vă testele
Proprietatea OnTestCaseStart unui Test Suite poate fi utilizată pentru a configura testul. Expresia introdusă pentru această proprietate se declanșează pentru fiecare caz de test într-o suită înainte de a începe executarea cazului. OnTestCaseStart vă ajută să evitați să scrieți aceiași pași de test la începutul fiecărui caz. Puteți particulariza această proprietate pentru a rula sarcini de configurare, comune tuturor cazurilor din suită, cum ar fi:
- Porniți întotdeauna execuția testului de la primul ecran.
- Inițializarea colecțiilor sau a variabilelor comune.
- Obținerea datelor de test de la o sursă de date pentru testul de execuție curent
Înregistrarea TestCaseInfo conține detalii pentru testul curent care se execută. Conține următoarele proprietăți:
- TestCaseName - numele cazului de test.
- TestCaseDescription - descrierea cazului de testare.
- TestCaseId - ID-ul cazului de test.
- TestSuiteName - numele setului de test din care face parte cazul.
- TestSuiteDescription – descrierea suitei de test.
- TestSuiteId - ID-ul setului de test din care face parte cazul.
În exemplul de mai jos, veți particulariza proprietatea OnTestCaseStart, astfel încât fiecare caz de test începe de la primul ecran din aplicație. Veți obține, de asemenea, datele testului dintr-o sursă de date la care se poate face referire în pașii pentru cazul de testare.
Selectați Test în panoul din stânga sau Vizualizare pe antetul setului.
Selectați acțiunea OnTestCaseStart.
Introduceți o expresie pentru a naviga la primul ecran și a obține datele de testare pentru testul dvs.
//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)
Procesarea rezultatelor testelor
Panoul de testare vizibil la redarea testelor în Test Studio nu este vizibil atunci când utilizați un browser. Din cauza acestui comportament, nu puteți determina etapa specifică de testare care se execută sau dacă un test trece sau nu reușește.
Pentru a determina rezultatele testelor în afara Test Studio, există două proprietăți numite OnTestCaseComplete și OnTestSuiteComplete disponibil în obiectul de testare pe care îl puteți utiliza pentru a procesa rezultatele testelor dvs. Când integrați testele într-un canal de implementare și lansare continuu, cum ar fi Azure DevOps, aceste proprietăți pot fi utilizate pentru a determina dacă ar trebui să continuați cu implementarea aplicației.
Expresia introdusă pentru aceste proprietăți se declanșează atunci când se completează fiecare caz sau set. Puteți particulariza aceste proprietăți pentru a procesa și trimite rezultatele testelor dvs. la diverse surse de date sau servicii, cum ar fi:
- SQL Server.
- Dataverse.
- Power Automate.
- E-mail folosind Office 365.
Aceste setări se aplică fiecărui set sau caz de test din aplicația dvs. După finalizarea fiecărui set sau caz de test, rezultatele testelor și orice mesaj de urmărire conținute în teste sunt disponibile în înregistrările TestCaseResult și TestSuiteResult.
Înregistrarea TestCaseResult conține următoarele proprietăți:
- TestCaseName - numele cazului de test.
- TestCaseDescription - descrierea cazului de testare.
- TestCaseId - ID-ul cazului de test.
- TestSuiteName - numele setului de test din care face parte cazul.
- TestSuiteDescription – descrierea suitei de test.
- TestSuiteId - ID-ul setului de test din care face parte cazul.
- StartTime – ora de începere a efectuării testului.
- EndTime – ora de încheiere a efectuării testului.
- Traces – rezultatul oricăror aserțiuni de testare și a oricăror mesaje din funcția Trace.
- Success - indică măsura în care cazul de testare a fost finalizat cu succes.
- TestFailureMessage – dacă cazul a eșuat, mesaj de eșec.
Înregistrarea TestSuiteResult conține următoarele proprietăți:
- TestSuiteName – numele setului de test.
- TestSuiteDescription – descrierea suitei de test.
- TestSuiteId – ID-ul setului de test.
- StartTime – ora de începere a executării setului de test.
- EndTime – ora de încheiere a executării setului de test.
- TestsPassed – numărul de cazuri de test finalizate cu succes în set.
- TestsFailed - numărul de cazuri de test care au eșuat în set.
În această pornire rapidă, veți crea două tabele personalizate în baza de date Dataverse pentru a stoca rezultatele testelor prin personalizarea proprietăților OnTestCaseComplete și OnTestSuiteComplete:
Selectați Test în panoul din stânga sau Vizualizare pe antetul setului.
Selectați acțiunea OnTestCaseComplete.
Introduceți o expresie pentru a procesa rezultatele testului dvs. Următorul exemplu salvează rezultatele fiecărui caz de test în tabelul personalizat AppTestResults din Dataverse. Rezultatele testelor pot fi stocate opțional în SQL, SharePoint sau în orice altă sursă de date. S-ar putea să fie necesar să setați sau să măriți câmpul Trace în sursa de date, după cum este necesar.
Notă
Următoarele exemple fac legătura cu Microsoft Dataverse. Puteți crea o aplicație simplă sau să construiți o aplicație de la zero utilizând Dataverse. De asemenea, consultați referința funcției Patch pentru mai multe detalii pentru modificarea înregistrărilor unei surse de date utilizate în următoarele probe.
//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 } );
Selectați acțiunea OnTestSuiteComplete.
Introduceți o expresie pentru a procesa rezultatele testului dvs. În următorul exemplu veți salva rezultatele fiecărei suită de test în tabelul personalizat AppTestSuiteResults din 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 } );
Alte exemple de expresii pe care le-ați putea folosi în aceste proprietăți sunt:
Trimiteți rezultatele către un flux în Power Automate.
MyTestResultsFlow.Run(JSON(TestCaseResult))
Trimiteți prin e-mail rezultatele dvs.
Office365.SendMailV2("someone@example.com", "Test case results", JSON(TestCaseResult, JSONFormat.IndentFour))
Primiți o notificare de aplicație cu privire la rezultatul testului.
De exemplu, primiți o notificare după ce testul se termină atunci când redați testul într-un browser, în afara Test Studio.
Notify(TestCaseResult.TestCaseName & " : " & If( TestCaseResult.Success , " Passed" , TestCaseResult.TestFailureMessage) ,If( TestCaseResult.Success , NotificationType.Success , NotificationType.Error) )
Funcții test
În plus față de funcțiile disponibile în Power Apps, următoarele sunt funcțiile comune pe care le veți utiliza în mod obișnuit la crearea testelor:
Pașii următori
Notă
Ne puteți spune care preferințele dvs. lingvistice pentru documentație? Răspundeți la un chestionar scurt. (rețineți că acest chestionar este în limba engleză)
Chestionarul va dura aproximativ șapte minute. Nu sunt colectate date personale (angajament de respectare a confidențialității).