Traballar con Test Studio (experimental)

Neste inicio rápido, creará probas para unha aplicación de lenzo chamada Kudos. Tamén pode explorar e descubrir conceptos de proba e aplicalos a probas de escritura para as súas propias aplicacións de lenzo. A aplicación Kudos de mostra forma parte dun conxunto de interacción cos empregados dispoñible para descargar desde o Kit de iniciación de experiencia de empregados.

Nota

Esta función aínda é experimental e recomendámoslle que a empregue para escribir probas para aplicacións non de produción. Para obter máis información, consulte Funcións experimentais e de vista previa.

Abrir Test Studio

Non é necesario activar esta función na aplicación como outras funcións experimentais. Test Studio está dispoñible de xeito predeterminado para todas as aplicacións de lenzo.

  1. Inicie sesión en Power Apps.

  2. Cree unha nova aplicación ou edite unha aplicación existente.

  3. Garde a súa aplicación en Power Apps para abrir Test Studio.

    Nota

    Debe gardar unha aplicación para poder escribir probas para a aplicación.

  4. Seleccione Ferramentas avanzadas na navegación esquerda.

  5. Seleccione Abrir probas para abrir Test Studio para esta aplicación. Esta acción abre Test Studio nun novo separador de explorador.

    Abrir Test Studio

Nota

As probas publícanse e gárdanse no paquete de aplicacións. A exportación e a importación dun paquete de aplicacións de lenzo a outro contorno tamén incluirán todas as definicións de probas como grupos e casos de proba que creou.

Crear un grupo de probas

De xeito predeterminado, crearase un grupo e un caso de proba para vostede en Test Studio. Os grupos de proba úsanse para organizar os seus casos de proba. Unha aplicación pode conter un ou varios grupos de proba. Pode usar o caso e o grupo de proba predeterminados para comezar a escribir as súas probas inmediatamente ou crear un novo grupo de probas.

  1. Seleccione Novo grupo.

  2. Actualice o Nome e descrición do grupo de probas seleccionando os campos na grade principal.

    Novo grupo de probas

Crear un caso de proba

Dependendo de como queira organizar ou agrupar as súas probas, podes crear varios casos de proba nun grupo de probas. Cada caso pode probar unha función específica ou un subconxunto de funcionalidades da súa aplicación.

  1. Seleccione unha seria de probas.
  2. Seleccione Caso novo no menú superior para crear un caso novo.
  3. Actualice o Nome e descrición do caso de probas seleccionando os campos na grade principal.

Novo caso de proba

Rexistrar un caso de proba

Un caso de proba está composto de pasos de proba que conteñen accións. As accións de proba escríbense usando expresións de Power Apps que realizan unha tarefa. Pode usar a gravadora para xerar automaticamente os pasos de proba ao interactuar coa súa aplicación. Despois de rexistrar, pode actualizar o caso da proba, engadir novos pasos, eliminar pasos e escribir declaracións de probas para validar o resultado da súa proba.

Nota

Só unha aplicación publicada reprodúcese en modo de rexistro. Publique os cambios recentes na aplicación antes de comezar a rexistrar un caso de proba. A gravación sen publicar cambios recentes fai que a última versión publicada da aplicación se reproduza en modo de rexistro.

  1. Seleccione Rexistro no menú superior. Esta acción abre a aplicación publicada con modo de gravación nunha nova pestana do explorador.

    Importante

    O rexistro nun caso de proba existente anula todos os pasos de proba existentes xa presentes.

    Probas de rexistro

  2. Interactúe coa súa aplicación. As súas accións rexístranse no panel esquerdo.

  3. Unha vez finalizada a interacción, seleccione Feito. Tamén pode seleccionar Cancelar para volver a Test Studio sen que as súas interaccións se rexistren.

    Gardar rexistro

  4. Visualice os pasos de proba e as expresións que se xeraron automaticamente para vostede en Test Studio.

  5. Edite o texto da descrición do paso na grade principal se é necesario. Tamén pode actualizar as accións do paso de proba seleccionando a fórmula na grade principal.

    Actualizar caso de proba

Engadir pasos e declaracións de proba

Cada caso de proba debería ter un resultado esperado. No exemplo de Kudos, un dos resultados esperados de enviar un kudo está a crear un novo rexistro na base de datos de Microsoft Dataverse (Dataverse). Agora actualizará o caso da proba e engadirá pasos adicionais da proba para validar un rexistro que se creou correctamente.

Siga estes pasos para verificar a creación correcta dun rexistro:

  • Inicie unha variable para o reconto de rexistros de kudos na base de datos ao comezo do caso de proba.
  • Inicie unha variable para o reconto de rexistros de kudos na base de datos ao final do caso de proba.
  • Escriba unha expresión de declaración de proba para validala incrementada nun reconto. Se o reconto non aumenta en un, a afirmación da proba falla e o seu caso de proba falla.

Para engadir pasos de proba e declaracións de proba na aplicación Kudos:

  1. Seleccione o paso 1 ou o paso superior no que desexa inserir un novo paso.

  2. Seleccione Inserir un paso enriba no menú superior ou seleccionando a opción desde a liña activa. Esta acción crea un paso baleiro.

    Inserir paso

    Nota

    Cando seleccione Inserir paso enriba, engadirase un novo paso en branco enriba do paso actual. Tamén pode usar as accións Declarar, SetProperty, Seleccionar ou Rastrexar no seu lugar. Isto engade un paso cunha fórmula de acción correspondente que pode editar.

  3. Actualice a descrición do paso. Por exemplo, "Contar Kudo na base de datos".

  4. Insira unha expresión ou fórmula na entrada de acción para contar os rexistros da base de datos antes de executar a proba.

    Pode usar calquera expresión compatible. Tamén pode consultar calquera orixe de datos, coleccións, variables ou executar fluxos contidos na súa aplicación e crear novas variables ou coleccións globais para usar nas súas probas.

    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 the test results record.

    Trace("kudosBeforeTest : " & kudosBeforeTest);
    

    Kudos antes da proba

  8. Vaia ao final do caso de proba e insira un paso novo para contar os rexistros da base de datos unha vez finalizada a proba.

    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 despois da declaración da proba

  10. Garde o caso de proba desde o menú da parte superior dereita de Test Studio.

Reproducir a súa proba

Pode reproducir a súa proba rexistrada para validar a funcionalidade da aplicación. Pode reproducir todas as probas nunha única serie de probas ou nun único caso de proba.

Antes de reproducir o rexistro con cambios recentes, ten que publicar a aplicación:

Reproducir sen publicar

Importante

Se omite a publicación, a reprodución do rexistro non conterá os seus cambios recentes nas probas. O último caso ou serie de probas publicado reproducirase na aplicación.

  1. Seleccione Publicar para gardar e publicar automaticamente a súa proba.

    Publicar as modificacións

  2. Seleccione unha serie de probas ou un único caso de proba.

  3. Seleccione Reproducir. A aplicación publicada ábrese en modo Reproducir e pode ver os seus pasos de proba reproducíndose automaticamente. Unha marca de verificación verde indica cando se executa correctamente un paso de proba. Se un paso falla, aparece un indicador de fallo vermello xunto cunha mensaxe de fallo.

    Modo de reprodución

  4. Seleccione Feito para volver a Test Studio.

Declaración errónea

Nesta sección, cambiará a declaración da proba para probar unha proba errónea:

  1. Edite o paso de declaración seleccionando a caixa da expresión.

  2. Actualice + 1 a + 2 na acción de proba. Esta actualización significa que a proba espera que se creen dous rexistros, o cal é incorrecto. Se a proba ten éxito, só se debería crear un rexistro na base de datos.

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

    Actualización do reconto de declaracións

  3. Seleccione Publicar.

  4. Seleccione Reproducir.

  5. Visualizar a reprodución da proba. O paso final falla agora e mostra un erro e a mensaxe que proporcionou no paso da declaración.

    Erro de reprodución

Reprodución de probas nun navegador

Pode copiar unha ligazón para reproducir unha proba nun navegador separado fóra de Test Studio. Axuda a integrar as súas probas nunha compilación continua e nunha canle de liberación como Azure DevOps.

A ligazón de reprodución da proba seleccionada continúa. Non cambia para a serie ou o caso de probas. Pode actualizar as súas probas sen necesidade de modificar os procesos de compilación e publicación.

Para reproducir probas no seu navegador:

  1. Seleccione unha serie ou caso de proba no panel dereito.

  2. Seleccione Copiar a ligazón de reprodución.

    Copiar a ligazón de reprodución

  3. Solicitaráselle publicar as súas probas se hai cambios inéditos.

    Publicar antes da ligazón de copia

  4. Pode seleccionar omitir o proceso de publicación e copiar a ligazón de reprodución. Os cambios de proba novos non se reproducen se salta.

    Ligazón de reprodución copiada

  5. Abra un navegadro e pegue o URL na barra de enderezos para reproducir a proba.

  6. Visualice a reprodución da proba.

Configurar as súas probas

A propiedade OnTestCaseStart dunha Test Suite pódese usar para configurar a proba. A expresión introducida para esta propiedade desencadéase para todos os casos de proba dunha serie antes de que o caso comece a executarse. OnTestCaseStart axuda a evitar escribir os mesmos pasos de proba ao comezo de cada caso. Pode personalizar esta propiedade para executar tarefas comúns a todos os casos da serie como:

  • Comezar sempre a execución da proba desde a primeira pantalla.
  • Iniciar coleccións ou variables comúns.
  • Obtendo datos da proba dunha orixe de datos para a proba de execución actual

O rexistro TestCaseInfo contén detalles da proba actual que se está executando. Contén as seguintes propiedades:

  • TestCaseName: o nome do caso da proba.
  • TestCaseDescription: a descrición do caso da proba.
  • TestCaseId: o identificador do caso da proba.
  • TestSuiteName: o nome da serie de probas á que pertence o caso.
  • TestSuiteDescription: a descrición da serie da proba.
  • TestSuiteId: o identificador da serie de probas á que pertence o caso.

No seguinte exemplo, personalizará a propiedade OnTestCaseStart polo que todos os casos de proba comezarán desde a primeira pantalla da súa aplicación. Tamén obterá os datos da proba dunha orixe de datos á que se pode facer referencia nos pasos para o caso da proba.

  1. Seleccione Proba no panel esquerdo ou Ver na cabeceira da serie.

    Probar ou visualizar a propiedade establecida

  2. Seleccione a acción OnTestCaseStart.

  3. Insira unha expresión para navegar á primeira pantalla e procure os datos da proba para a súa proba.

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

    Exemplo de OnTestCaseStart

Procesando resultados da proba

O panel de proba visible ao reproducir probas en Test Studio non está visible cando se usa un navegador. Por mor deste comportamento, non pode determinar o paso de proba específico que se executa ou se unha proba aproba ou falla.

Para determinar os resultados das probas fóra de Test Studio, existen dúas propiedades chamadas OnTestCaseComplete e OnTestSuiteComplete dispoñibles no obxecto da proba que pode usar para procesar os resultados das súas probas. Ao integrar probas nunha canle de versión e nunha compilación continua como Azure DevOps, estas propiedades pódense usar para determinar se debe continuar co despregamento da aplicación.

A expresión introducida para estas propiedades desencadéase cando se completa cada caso ou serie. Pode personalizar estas propiedades para procesar e enviar os resultados das súas probas a varias orixes de datos ou servizos como:

  • SQL Server.
  • Dataverse.
  • Power Automate.
  • Enviar correo electrónico con Office 365.

Esta configuración aplícase a todas as series ou casos de proba da súa aplicación. Despois de completar cada serie ou caso de proba, os resultados da proba e as mensaxes de rastrexo contidas nas probas están dispoñibles nos rexistros TestCaseResult e TestSuiteResult.

O rexistro TestCaseResult contén as seguintes propiedades:

  • TestCaseName: o nome do caso da proba.
  • TestCaseDescription: a descrición do caso da proba.
  • TestCaseId: o identificador do caso da proba.
  • TestSuiteName: o nome da serie de probas á que pertence o caso.
  • TestSuiteDescription: a descrición da serie da proba.
  • TestSuiteId: o identificador da serie de probas á que pertence o caso.
  • StartTime: a hora de inicio da execución da proba.
  • EndTime: a hora de finalización da execución da proba.
  • Traces: o resultado de calquera declaración de proba e mensaxes da función Trace.
  • Success: indica se o caso da proba se completou con éxito.
  • TestFailureMessage: se o caso fallou, a mensaxe de erro.

O rexistro TestSuiteResult contén as seguintes propiedades:

  • TestSuiteName: o nome da serie de proba.
  • TestSuiteDescription: a descrición da serie da proba.
  • TestSuiteId: o identificador da serie de probas.
  • StartTime: a hora de inicio da execución da serie de probas.
  • EndTime: a hora de finalización da execución da serie de probas.
  • TestsPassed: o número de casos de proba que se completaron con éxito na serie.
  • TestsFailed: o número de casos de proba que fallaron na serie.

Neste inicio rápido, creará dúas entidades personalizadas na base de datos de Dataverse para almacenar os resultados da proba personalizando as propiedades OnTestCaseComplete e OnTestSuiteComplete:

  1. Seleccione Proba no panel esquerdo ou Ver na cabeceira da serie.

    Probar ou visualizar a propiedade establecida

  2. Seleccione a acción OnTestCaseComplete.

  3. Insira unha expresión para procesar os resultados da súa proba. O seguinte exemplo garda os resultados de cada caso de proba na entidade AppTestResults personalizada en Dataverse. Os resultados da proba poden almacenarse en SQL, SharePoint ou calquera outra orixe de datos. Pode que necesite configurar ou aumentar o campo Rastrexo na súa orixe de datos segundo sexa necesario.

    Nota

    Os seguintes exemplos requiren unha conexión de Common Data Service. Pode crear unha aplicación sinxela ou cree unha aplicación dende cero usando Dataverse. Consulte tamén a referencia da función Parche para obter máis detalles para modificar os rexistros dunha orixe de datos empregada nos seguintes exemplos.

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

  4. Seleccione a acción OnTestSuiteComplete.

  5. Insira unha expresión para procesar os resultados da súa proba. No seguinte exemplo, gardará os resultados de cada serie de proba na entidade AppTestSuiteResults personalizada en 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
        }
    );
    

    Exemplo de OnTestSuiteComplete

Outros exemplos de expresións que pode usar nestas propiedades son:

  • Enviar resultados a un fluxo en Power Automate.

    MyTestResultsFlow.Run(JSON(TestCaseResult))
    
  • Enviar os seus resultados por correo electrónico.

    Office365.SendMailV2("someone@example.com", "Test case results", JSON(TestCaseResult, JSONFormat.IndentFour))
    
  • Recibir unha notificación dunha aplicación do resultado da proba.

    Por exemplo, reciba unha notificación despois de finalizar a proba cando se reproduce a proba nun navegador, fóra de Test Studio.

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

Funcións de proba

Ademais das funcións dispoñibles en Power Apps, as seguintes son funcións comúns que normalmente empregará para crear probas:

Pasos seguintes