Comparteix a través de


Treballar amb Test Studio

En aquesta guia ràpida, creareu proves per a una aplicació del llenç anomenada Elogis. També podeu explorar i descobrir conceptes de prova i aplicar-los a proves d'escriptura per a les vostres pròpies aplicacions del llenç. L'aplicació de mostra Elogis forma part d'un conjunt d'aplicacions d'interacció d'empleats disponibles per baixar des del Kit d'inici d'experiència per a empleats.

Mireu aquest vídeo per aprendre a treballar amb el Test Studio:

Obrir Test Studio

  1. Inicieu la sessió a Power Apps.

  2. Creeu una aplicació nova o editeu una aplicació existent.

  3. Deseu la vostra aplicació al Power Apps per obrir Test Studio.

    Nota

    Heu de desar una aplicació per poder escriure proves per a l'aplicació.

  4. A la navegació esquerra, seleccioneu Eines avançades.

  5. Seleccioneu Obre les proves per obrir Test Studio per a aquesta aplicació. Aquesta acció obre el Test Studio en una pestanya de navegador nova.

    Obrir el Test Studio.

Nota

Les proves es publiquen i s'emmagatzemen al paquet de l'aplicació. L'exportació i la importació d'un paquet de l'aplicació del llenç a un altre entorn també inclourà totes les definicions de prova, com ara els conjunts de proves i els casos de prova que heu creat.

Crear un conjunt de proves

Per defecte, es crea un conjunt de prova i un cas de prova a Test Studio. Els conjunts de proves s'utilitzen per organitzar els casos de prova. Una aplicació pot contenir un o diversos conjunts de proves. Podeu utilitzar el conjunt de proves i el cas per defecte per començar a escriure les proves immediatament o crear un conjunt de proves nou.

  1. Seleccioneu Conjunt nou.

  2. Actualitzeu el Nom i descripció del conjunt de proves seleccionant els camps de la quadrícula principal.

    Nou conjunt de proves

Crear un cas de proves

En funció de com vulgueu organitzar o agrupar les proves, podeu crear diversos casos de prova en un conjunt de prova. Cada cas pot provar una característica específica o un subconjunt de les funcionalitats de l'aplicació.

  1. Seleccioneu un conjunt de prova.
  2. Seleccioneu Cas nou al menú superior per crear un cas nou.
  3. Actualitzeu el Nom del cas de prova seleccionant els camps de la quadrícula principal.

Cas de prova nou

Registrar un cas de prova

Un cas de prova consisteix en passos de prova que contenen accions. Les accions de prova s'escriuen mitjançant expressions del Power Apps que realitzen una tasca. Podeu utilitzar la gravadora per generar automàticament els passos de prova a mesura que interactueu amb l'aplicació. Després de la gravació, podeu actualitzar el cas de prova, afegir passos nous, suprimir passos i escriure afirmacions de prova per validar el resultat de la prova.

Nota

Només es reprodueix una aplicació publicada en mode d'enregistrament. Publiqueu tots els canvis recents a l'aplicació abans d'iniciar l'enregistrament d'un cas de prova. L'enregistrament sense publicar els canvis recents provoca que la darrera versió publicada de l'aplicació es reprodueixi en mode d'enregistrament.

  1. Seleccioneu Enregistra al menú superior. Aquesta acció obre l'aplicació publicada amb el mode d'enregistrament en una pestanya nova del navegador.

    Important

    L'enregistrament en un cas de prova existent substitueix els passos de prova existents.

    Enregistrar proves.

  2. Interactueu amb l'aplicació. Les vostres accions s'enregistren a la subfinestra esquerra.

  3. Quan la interacció es completi, seleccioneu Fet. Opcionalment, podeu seleccionar Cancel·la per tornar a Test Studio sense que s'enregistrin les interaccions.

    Desar l'enregistrament.

  4. Visualitzeu els passos de prova i les expressions s'han generat automàticament a Test Studio.

  5. Editeu el text de descripció dels passos a la quadrícula principal si cal. També podeu actualitzar les accions dels passos de prova seleccionant la fórmula a la quadrícula principal.

    Actualitzar un cas de prova.

Afegir passos de prova i assercions de prova

Cada cas de prova ha de tenir un resultat esperat. A l'exemple Elogis, un dels resultats esperats d'enviar un elogi és crear un registre nou a la base de dades del Microsoft Dataverse (Dataverse). Ara s'actualitzarà el cas de prova i afegireu passos de prova addicionals per validar que s'ha creat un registre correctament.

Seguiu aquests passos per verificar una creació de registres correcta:

  • Inicialitzeu una variable per al recompte de registres d'elogi a la base de dades al començament del cas de prova.
  • Inicialitzeu una variable per al recompte de registres d'elogi a la base de dades al final del cas de prova.
  • Escriviu una expressió d'asserció de prova per validar que s'incrementa un. Si el recompte no augmenta en un, el valor de prova falla i el cas de la prova falla.

Per afegir passos de prova i assercions de prova a l'aplicació Elogis:

  1. Seleccioneu el pas 1 o el pas per sobre del qual voleu inserir un pas nou.

  2. Seleccioneu Insereix un pas a sobre des del menú superior o seleccionant l'opció de la fila activa. Aquesta acció crea un pas buit.

    Inserir un pas.

    Nota

    Quan seleccioneu Insereix un pas a sobre, s'afegirà un nou pas en blanc per sobre del pas actual. També podeu utilitzar les accions Assert, SetProperty, Select o Trace en el seu lloc. Això afegeix un pas amb una fórmula d'acció respectiva que podeu editar.

  3. Actualitzeu la descripció del pas. Per exemple, "Recompte d'elogis a la base de dades".

  4. Introduïu una expressió o una fórmula a l'entrada d'acció per comptar els registres de la base de dades abans d'executar la prova.

    Podeu utilitzar qualsevol expressió compatible. També podeu consultar qualsevol font de dades, col·lecció, variables o executar fluxos inclosos a l'aplicació i crear variables o col·leccions globals noves per utilitzar a les vostres proves.

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

    Elogis abans de la prova

  8. Aneu a la part inferior del cas de prova i inseriu un nou pas on es comptabilitzen els registres de la base de dades després que s'hagi completat la prova.

    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)
    

    Elogis després de l'asserció de prova

  10. Deseu el cas de prova des del menú superior dret a Test Studio.

Reproduir la prova

Podeu reproduir la prova enregistrada per validar la funcionalitat de l'aplicació. Podeu reproduir totes les proves dins d'un mateix conjunt de prova o un sol cas de prova.

Abans de tornar a reproduir l'enregistrament amb canvis recents, heu de publicar l'aplicació:

Reproduir sense publicar.

Important

Si ometeu la publicació, la reproducció de l'enregistrament no contindrà els canvis recents de la prova. L'últim cas o conjunt publicat es reproduirà a l'aplicació.

  1. Seleccioneu Publica per desar i publicar automàticament la prova.

    Publicar els canvis.

  2. Seleccioneu un conjunt de prova o un sol cas de prova.

  3. Seleccioneu Reprodueix. L'aplicació publicada s'obre en mode de reproducció, i podeu veure els passos de la prova reproduint-se automàticament. Una marca de selecció verda indica quan s'executa un pas de prova correctament. Si un pas falla, es mostra un indicador d'error vermell juntament amb un missatge d'error.

    Mode de reproducció

  4. Seleccioneu Fet per tornar a Test Studio.

Asserció amb error

En aquesta secció, canviareu l'asserció de prova per veure una prova amb errors:

  1. Editeu el pas d'asserció seleccionant el quadre d'expressió.

  2. Actualitzeu + 1 a + 2 a l'acció de prova. Aquesta actualització significa que la prova espera que es creïn dos registres, la qual cosa és incorrecte. Si la prova és correcta, només s'ha de crear un registre a la base de dades.

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

    Actualització del recompte d'asserció

  3. Seleccioneu Publica.

  4. Seleccioneu Reprodueix.

  5. Visualitzeu la prova reproduint-se. El pas final ara falla i mostra un error i el missatge que heu facilitat al pas d'asserció.

    Error de reproducció

Reproduir proves en un navegador

Podeu copiar un enllaç per reproduir una prova en un navegador independent del Test Studio. Ajuda a integrar les vostres proves en un pipeline de compilació i llançament continus com Azure DevOps.

L'enllaç de reproducció per a la prova seleccionada és persistent. No canvia per al conjunt de prova ni el cas de prova. Podeu actualitzar les vostres proves sense haver de modificar els processos de compilació i llançament.

Per reproduir les proves al navegador:

  1. Seleccioneu un conjunt de prova o un cas de prova a la subfinestra dreta.

  2. Seleccioneu Copia l'enllaç de reproducció.

    Copiar l'enllaç de reproducció.

  3. Si no hi ha cap canvi sense publicar, se us demanarà que publiqueu les proves.

    Publicar abans de copiar l'enllaç.

  4. Podeu seleccionar si voleu ometre el procés de publicació i copiar l'enllaç de reproducció. Els nous canvis a la prova no es reproduiran si l'ometeu.

    Enllaç de reproducció copiat

  5. Obriu un navegador i enganxeu l'adreça URL a la barra d'adreces per reproduir la prova.

  6. Visualitzeu la prova reproduint-se.

Configurar les vostres proves

La propietat OnTestCaseStart d'un conjunt de prova es pot utilitzar per configurar la prova. L'expressió introduïda per a aquesta propietat es dispara per a tots els casos de prova en un conjunt abans que el cas comenci a executar-se. OnTestCaseStart us ajuda a evitar que escriviu els mateixos passos de prova a l'inici de cada cas. Podeu personalitzar aquesta propietat per executar tasques de configuració que siguin comunes per a tots els casos del conjunt, com ara:

  • Sempre començar l'execució de la prova des de la primera pantalla.
  • Inicialitzar les col·leccions o les variables comunes.
  • Recuperació de dades de prova des d'una font de dades per a l'actual prova en execució

El registre TestCaseInfo conté detalls per a la prova actual que s'està executant. Conté les propietats següents:

  • TestCaseName: nom del cas de prova.
  • TestCaseDescription: descripció del cas de prova.
  • TestCaseId: ID del cas de prova.
  • TestSuiteName: nom del conjunt de prova al qual pertany el cas.
  • TestSuiteDescription: descripció del conjunt de prova.
  • TestSuiteId: ID del conjunt de prova al qual pertany el cas.

A l'exemple següent, personalitzareu la propietat OnTestCaseStart perquè tots els casos de prova comencin des de la primera pantalla de l'aplicació. També obtindreu les dades de prova des d'una font de dades a la qual es pot fer referència als passos del cas de prova.

  1. Seleccioneu Prova a la subfinestra esquerra o Visualitza a la capçalera del conjunt.

    Provar o visualitzar la propietat del conjunt.

  2. Seleccioneu l'acció OnTestCaseStart.

  3. Introduïu una expressió per navegar a la primera pantalla i recuperar les dades de prova per a la prova.

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

    Exemple d'OnTestCaseStart

Processament dels resultats de la prova

La subfinestra de prova visible quan es reprodueixen proves al Test Studio no és visible quan s'utilitza un navegador. A causa d'aquest comportament, no podeu determinar el pas de prova específic que s'executa o si una prova s'executa correctament o no.

Per determinar els resultats de les proves fora de Test Studio, hi ha dues propietats anomenades OnTestCaseComplete i OnTestSuiteComplete disponibles a l'objecte de prova que podeu utilitzar per processar els resultats de les vostres proves. Quan s'integren els tests en un pipeline de compilació i llançament continu com Azure DevOps, aquestes propietats es poden utilitzar per determinar si heu de continuar amb la implementació de l'aplicació.

L'expressió que s'ha introduït per a aquestes propietats es dispara quan es completa cada cas o conjunt. Podeu personalitzar aquestes propietats per processar i enviar els resultats de les vostres proves a diverses fonts o serveis de dades, com ara:

  • SQL Server.
  • Dataverse.
  • Power Automate.
  • Correu electrònic mitjançant l'Office 365.

Aquesta configuració s'aplica a cada conjunt de prova o cas de prova de l'aplicació. Després de completar cada conjunt de proves o cas de prova, els resultats de les proves i els missatges de seguiment que figuren a les proves estan disponibles als registres TestCaseResult i TestSuiteResult.

El registre TestCaseResult conté les propietats següents:

  • TestCaseName: nom del cas de prova.
  • TestCaseDescription: descripció del cas de prova.
  • TestCaseId: ID del cas de prova.
  • TestSuiteName: nom del conjunt de prova al qual pertany el cas.
  • TestSuiteDescription: descripció del conjunt de prova.
  • TestSuiteId: ID del conjunt de prova al qual pertany el cas.
  • StartTime: hora d'execució d'inici de la prova.
  • EndTime: hora d'execució de finalització de la prova.
  • Seguiments: resultat d'assercions de prova i de tots els missatges de la funció Trace.
  • Correcte: indica si el cas de prova s'ha completat correctament.
  • TestFailureMessage: si el cas ha fallat, el missatge d'error.

El registre TestSuiteResult conté les propietats següents:

  • TestSuiteName: nom del conjunt de prova.
  • TestSuiteDescription: descripció del conjunt de prova.
  • TestSuiteId: ID del conjunt de prova.
  • StartTime: hora d'execució d'inici del conjunt de prova.
  • EndTime: hora d'execució de finalització del conjunt de prova.
  • TestsPassed: nombre de casos de prova que s'han completat correctament al conjunt.
  • TestsFailed: nombre de casos de prova que no s'han completat al conjunt.

En aquest inici ràpid, creareu dues taules personalitzades a la base de dades del Dataverse per emmagatzemar els resultats de la prova personalitzant les propietats OnTestCaseComplete i OnTestSuiteComplete:

  1. Seleccioneu Prova a la subfinestra esquerra o Visualitza a la capçalera del conjunt.

    Provar o visualitzar la propietat del conjunt.

  2. Seleccioneu l'acció OnTestCaseComplete.

  3. Introduïu una expressió per processar els resultats de la prova. L'exemple següent desa els resultats de cada cas de prova a la taula personalitzada AppTestResults al Dataverse. Els resultats de la prova es poden emmagatzemar opcionalment a SQL, SharePoint o qualsevol altra font de dades. Pot ser que hàgiu de definir o incrementar el camp Seguiment a la font de dades segons calgui.

    Nota

    Els exemples següents es connecten al Microsoft Dataverse. Podeu crear una aplicació senzilla o crear una aplicació des de zero mitjançant el Dataverse. A més, consulteu la referència de la funció Patch per obtenir més detalls per modificar els registres d'una font de dades utilitzada als exemples següents.

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

    Exemple d'OnTestCaseComplete

  4. Seleccioneu l'acció OnTestSuiteComplete.

  5. Introduïu una expressió per processar els resultats de la prova. En l'exemple següent, desareu els resultats de cada conjunt de prova a la taula personalitzada AppTestSuiteResults al 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
        }
    );
    

    Exemple d'OnTestSuiteComplete

Altres exemples d'expressions que podeu utilitzar en aquestes propietats són:

  • Envieu els resultats a un flux del Power Automate.

    MyTestResultsFlow.Run(JSON(TestCaseResult))
    
  • Envieu per correu electrònic els resultats.

    Office365.SendMailV2("someone@example.com", "Test case results", JSON(TestCaseResult, JSONFormat.IndentFour))
    
  • Rebeu una notificació a l'aplicació del resultat de la prova.

    Per exemple, rebeu una notificació després que es completi la prova quan es reprodueix la prova en un navegador fora de Test Studio.

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

Funcions de prova

A banda de les funcions disponibles al Power Apps, les següents són funcions habituals que normalment s'utilitzen en crear proves:

Passos següents

Nota

Ens podeu dir quines són les vostres preferències d'idioma per a la documentació? Responeu una breu enquesta. (tingueu en compte que l'idioma de l'enquesta és l'anglès)

Trigareu uns set minuts a completar l'enquesta. No es recopilen dades personals (declaració de privadesa).