Compartir a través de


Trabajo con Test Studio

En esta guía de inicio rápido, creará pruebas para una aplicación de lienzo denominada Kudos. También puede explorar y detectar conceptos de pruebas y aplicarlos a la escritura de pruebas para sus propias aplicaciones de lienzo. La aplicación Kudos de ejemplo forma parte de un conjunto de aplicaciones de participación de los empleados disponibles para su descarga desde Kit de inicio de experiencia del empleado.

Vea este vídeo para saber cómo se trabaja con Test Studio:

Abrir Test Studio

  1. Inicie sesión en Power Apps.

  2. Cree una nueva aplicación o edite una existente.

  3. Guarde la aplicación en Power Apps para abrir Test Studio.

    Nota

    Debe guardar la aplicación para poder escribir pruebas para ella.

  4. En el panel de navegación de la izquierda, seleccione Herramientas avanzadas.

  5. Seleccione Abrir pruebas para abrir Test Studio para esta aplicación. Esta acción abre Test Studio en una nueva pestaña del explorador.

    Abrir Test Studio.

Nota

Las pruebas se publican y almacenan en el paquete de la aplicación. Exportar e importar un paquete de aplicación de lienzo en otro entorno también incluirá todas las definiciones de prueba, como conjuntos de pruebas y casos de prueba que haya creado.

Creación de un conjunto de pruebas

De forma predeterminada, en Test Studio se crean un conjunto de pruebas y un caso de prueba. Los conjuntos de pruebas se usan para organizar los casos de prueba. Una aplicación puede contener uno o más conjuntos de pruebas. Puede usar el conjunto y el caso de pruebas predeterminados para empezar a escribir las pruebas inmediatamente o crear un nuevo conjunto de pruebas.

  1. Seleccione Nuevo conjunto.

  2. Actualice el Nombre y la descripción del conjunto de pruebas seleccionando los campos en la cuadrícula principal.

    Nuevo conjunto de pruebas.

Creación de un caso de prueba

En función de cómo quiera organizar o agrupar las pruebas, puede crear varios casos de prueba en un conjunto de pruebas. Cada caso puede probar una característica específica o un subconjunto de funcionalidades de la aplicación.

  1. Seleccione un conjunto de pruebas.
  2. Seleccione Nuevo caso en el menú superior para crear un caso.
  3. Actualice el Nombre y la descripción del caso de prueba seleccionando los campos en la cuadrícula principal.

Nuevo caso de prueba.

Grabación de un caso de prueba

Un caso de prueba consta de pasos de prueba que contienen acciones. Las acciones de prueba se escriben con expresiones de Power Apps que realizan una tarea. Puede usar la grabadora para generar automáticamente los pasos de prueba a medida que interactúe con la aplicación. Después de grabar, puede actualizar el caso de prueba, agregar nuevos pasos, eliminar pasos y escribir aserciones de prueba para validar el resultado de la prueba.

Nota

Solo una aplicación publicada se reproduce en modo de grabación. Publique los cambios recientes en la aplicación antes de iniciar la grabación de un caso de prueba. Grabar sin publicar cambios recientes hace que la última versión publicada de la aplicación se reproduzca en modo de grabación.

  1. Seleccione Grabar en el menú superior. Esta acción abre la aplicación publicada con el modo de grabación en una nueva pestaña del explorador.

    Importante

    La grabación en un caso de prueba existente invalida cualquier paso de prueba existente que ya esté presente.

    Grabar pruebas.

  2. Interactúe con la aplicación. Las acciones se graban en el panel izquierdo.

  3. Una vez completada la interacción, seleccione Listo. Opcionalmente, puede seleccionar Cancelar para volver a Test Studio sin que se graben las interacciones.

    Guardar grabación.

  4. Vea los pasos de prueba y las expresiones que se generaron automáticamente en Test Studio.

  5. Edite el texto de la descripción del paso en la cuadrícula principal, si es necesario. También puede actualizar las acciones del paso de prueba seleccionando la fórmula en la cuadrícula principal.

    Actualizar caso de prueba.

Adición de pasos de prueba y aserciones de prueba

Cada caso de prueba debe tener un resultado esperado. En el ejemplo de Kudos, uno de los resultados esperados de enviar un Kudo es crear un nuevo registro en la base de datos de Microsoft Dataverse (Dataverse). Ahora actualizará el caso de prueba y agregará pasos de prueba adicionales para validar que un registro se ha creado correctamente.

Siga estos pasos para comprobar una creación correcta del registro:

  • Inicialice una variable para el recuento de registros de Kudos en la base de datos al principio del caso de prueba.
  • Inicialice una variable para el recuento de registros de Kudos en la base de datos al final del caso de prueba.
  • Escriba una expresión de aserción de prueba para validarla incrementada en uno. Si el recuento no aumenta en uno, se produce un error en la aserción de prueba y en el caso de prueba.

Para agregar pasos de prueba y probar aserciones en la aplicación Kudos:

  1. Seleccione el paso 1 o el paso sobre el que quiera insertar un nuevo paso.

  2. Seleccione Insertar un paso anterior en el menú superior o seleccione la opción en la fila activa. Esta acción crea un paso vacío.

    Insertar paso.

    Nota

    Al seleccionar Insertar paso anterior, se agrega un nuevo paso en blanco sobre el paso actual. También puede usar las acciones Assert, SetProperty, Select o Trace en su lugar. Esto agrega un paso con una fórmula de acción correspondiente que se puede editar.

  3. Actualice la descripción del paso. Por ejemplo, "Recuento de Kudo en la base de datos".

  4. Escriba una expresión o fórmula en la entrada de acción para contar los registros de la base de datos antes de ejecutar la prueba.

    Puede usar cualquier expresión admitida. También puede consultar cualquier origen de datos, colecciones, variables o flujos de ejecución que contenga la aplicación, así como crear nuevas variables globales o colecciones para usarlas en las pruebas.

    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 antes de la prueba.

  8. Vaya a la parte inferior del caso de prueba e inserte un nuevo paso para contar los registros de la base de datos una vez completada la prueba.

    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 después de la aserción de prueba.

  10. Guarde el caso de prueba en el menú de la parte superior derecha de Test Studio.

Reproducción de la prueba

Puede reproducir la prueba grabada para validar la funcionalidad de la aplicación. Puede reproducir todas las pruebas dentro de un único conjunto de pruebas o un caso de prueba único.

Antes de volver a reproducir la grabación con cambios recientes, debe publicar la aplicación:

Reproducir sin publicación.

Importante

Si lo omite, la reproducción de la grabación no contendrá los cambios recientes de la prueba. El último caso o conjunto de pruebas publicado se reproducirá en la aplicación.

  1. Seleccione Publicar para guardar y publicar automáticamente su prueba.

    Publicar cambios.

  2. Seleccione un conjunto de pruebas o un caso de prueba único.

  3. Seleccione Iniciar. La aplicación publicada se abre en el modo de Reproducción y puede ver cómo los pasos de prueba se reproducen automáticamente. Una marca de verificación verde indica que el caso de prueba se ejecuta correctamente. Si se produce un error en un paso, se muestra un indicador de error rojo junto con un mensaje de error.

    Modo de reproducción.

  4. Seleccione Listo para volver a Test Studio.

Error de aserción

En esta sección, cambiará la aserción de prueba para experimentar una prueba con errores:

  1. Edite el paso de aserción seleccionando el cuadro de expresión.

  2. Actualice + 1 a + 2 en la acción de prueba. Esta actualización significa que la prueba espera que se creen dos registros, lo cual es incorrecto. Si la prueba se realiza correctamente, solo se debe crear un registro en la base de datos.

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

    Actualización del recuento de aserciones.

  3. Seleccione Publicar.

  4. Seleccione Iniciar.

  5. Vea la reproducción de la prueba. Ahora se produce un error en el último paso y se muestra el mensaje proporcionado en el paso de aserción.

    Error de reproducción.

Reproducción de pruebas en un explorador

Puede copiar un vínculo para reproducir una prueba en un explorador independiente, fuera de Test Studio. Esto ayuda a integrar las pruebas en la canalización continua de creación y versiones, como Azure DevOps.

Se conserva el vínculo de reproducción de la prueba seleccionada. No cambia para el conjunto de pruebas o el caso de prueba. Puede actualizar las pruebas sin necesidad de modificar los procesos de compilación y publicación.

Para reproducir pruebas en el explorador:

  1. Seleccione un conjunto de pruebas o un caso de prueba en el panel derecho.

  2. Seleccione Copiar vínculo de reproducción.

    Copia del vínculo de reproducción.

  3. Si hay cambios no publicados, se le pedirá que publique las pruebas.

    Publicar antes de copiar el vínculo.

  4. Puede omitir el proceso de publicación y copiar el vínculo de reproducción. Si lo omite, no se reproducen nuevos cambios en las pruebas.

    Vínculo de reproducción copiado.

  5. Abra un navegador y pegue la URL en la barra de direcciones para reproducir la prueba.

  6. Vea la reproducción de la prueba.

Configurar las pruebas

La propiedad OnTestCaseStart de un conjunto de pruebas se puede utilizar para configurar su prueba. La expresión introducida para esta propiedad se activa para cada caso de prueba de un conjunto antes de que el caso comience a ejecutarse. OnTestCaseStart le ayuda a evitar escribir los mismos pasos de prueba al comienzo de cada caso. Puede personalizar esta propiedad para ejecutar tareas de configuración que sean comunes a todos los casos del conjunto, como:

  • Siempre se inicia la ejecución de la prueba desde la primera pantalla.
  • Inicialización de colecciones o variables comunes.
  • Obtención de datos de prueba de un origen de datos para la prueba de ejecución actual

El registro TestCaseInfo contiene detalles de la prueba actual que se está ejecutando. Contiene las propiedades siguientes:

  • TestCaseName: el nombre del caso de prueba.
  • TestCaseDescription: la descripción del caso de prueba.
  • TestCaseId: el identificador del caso de prueba.
  • TestSuiteName: el nombre del conjunto de pruebas al que pertenece el caso.
  • TestSuiteDescription: la descripción del conjunto de pruebas.
  • TestSuiteId: el identificador del conjunto de pruebas al que pertenece el caso.

En el siguiente ejemplo, personalizará la propiedad OnTestCaseStart de manera que cada caso de prueba comience desde la primera pantalla de la aplicación. También obtendrá los datos de prueba de un origen de datos al que se puede hacer referencia en los pasos para el caso de prueba.

  1. Seleccione Prueba en el panel izquierdo o haga clic en Vista en el encabezado del conjunto.

    Conjunto de propiedades de prueba o vista.

  2. Seleccione la acción OnTestCaseStart.

  3. Introduzca una expresión para navegar a la primera pantalla y obtener los datos de prueba de su prueba.

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

    Ejemplo de OnTestCaseStart.

Procesamiento de los resultados de pruebas

El panel de pruebas visible al reproducir pruebas en Test Studio no está visible cuando se usa un explorador. Debido a este comportamiento, no puede determinar el paso de prueba específico que se ejecuta o si la prueba se supera o no.

Para determinar los resultados de las pruebas fuera de Test Studio, hay dos propiedades denominadas OnTestCaseComplete y OnTestSuiteComplete disponibles en el objeto de prueba que puede usar para procesar los resultados de las pruebas. Al integrar las pruebas en una canalización de versión y compilación continua como Azure DevOps, estas propiedades se pueden usar para determinar si debe continuar con la implementación de la aplicación.

La expresión especificada para estas propiedades se desencadena cuando se completa cada caso o conjunto. Puede personalizar estas propiedades para procesar y enviar los resultados de las pruebas a varios orígenes de datos o servicios como:

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

Esta configuración se aplica a todos los conjuntos de pruebas o casos de prueba de la aplicación. Una vez completados todos los conjuntos de pruebas o casos de prueba, los resultados de las pruebas y los mensajes de seguimiento contenidos en las pruebas están disponibles en los registros TestCaseResult y TestSuiteResult.

El registro TestCaseResult contiene las siguientes propiedades:

  • TestCaseName: el nombre del caso de prueba.
  • TestCaseDescription: la descripción del caso de prueba.
  • TestCaseId: el identificador del caso de prueba.
  • TestSuiteName: el nombre del conjunto de pruebas al que pertenece el caso.
  • TestSuiteDescription: la descripción del conjunto de pruebas.
  • TestSuiteId: el identificador del conjunto de pruebas al que pertenece el caso.
  • StartTime: el tiempo de inicio de la ejecución de la prueba.
  • EndTime: el tiempo de finalización de la ejecución de la prueba.
  • Traces: el resultado de cualquier aserción de prueba y cualquier mensaje de la función de Seguimiento.
  • Success: indica si el caso de prueba se ha completado correctamente.
  • TestFailureMessage: si se produce un error en el caso, este es el mensaje de error.

El registro TestSuiteResult contiene las siguientes propiedades:

  • TestSuiteName: el nombre del conjunto de pruebas.
  • TestSuiteDescription: la descripción del conjunto de pruebas.
  • TestSuiteId: el identificador del conjunto de pruebas.
  • StartTime: el tiempo de inicio de la ejecución del conjunto de pruebas.
  • EndTime: el tiempo de finalización de la ejecución del conjunto de pruebas.
  • TestsPassed: el número de casos de prueba que se completaron correctamente en el conjunto.
  • TestsFailed: el número de casos de prueba que no se completaron correctamente en el conjunto.

En esta guía de inicio rápido, creará dos tablas personalizadas en la base de datos Dataverse para almacenar los resultados de pruebas mediante la personalización de las propiedades OnTestCaseComplete y OnTestSuiteComplete:

  1. Seleccione Prueba en el panel izquierdo o haga clic en Vista en el encabezado del conjunto.

    Conjunto de propiedades de prueba o vista.

  2. Seleccione la acción OnTestCaseComplete.

  3. Escriba una expresión para procesar los resultados de la prueba. En el ejemplo siguiente se guardan los resultados de cada caso de prueba en la tabla AppTestResults personalizada de Dataverse. Los resultados de pruebas se pueden almacenar opcionalmente en SQL, SharePoint o cualquier otro origen de datos. Es posible que tenga que establecer o aumentar el campo de Seguimiento en el origen de datos según sea necesario.

    Nota

    Los siguientes ejemplos se conectan a Microsoft Dataverse. Puede crear una aplicación sencilla o compilar una aplicación desde cero con Dataverse. Consulte también la referencia de funciones de Patch para obtener más información para modificar los registros de un origen de datos usado en los siguientes ejemplos.

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

    Ejemplo de OnTestCaseComplete.

  4. Seleccione la acción OnTestCaseComplete.

  5. Escriba una expresión para procesar los resultados de la prueba. En el ejemplo siguiente, guardará los resultados de cada caso de prueba en la tabla AppTestSuiteResults personalizada de 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
        }
    );
    

    Ejemplo de OnTestSuiteComplete.

Otros ejemplos de expresiones que podría usar en estas propiedades son:

  • Envío de resultados a un flujo en Power Automate.

    MyTestResultsFlow.Run(JSON(TestCaseResult))
    
  • Envío por correo electrónico de los resultados.

    Office365.SendMailV2("someone@example.com", "Test case results", JSON(TestCaseResult, JSONFormat.IndentFour))
    
  • Recepción de una notificación de la aplicación del resultado de la prueba.

    Por ejemplo, reciba una notificación una vez que se complete la prueba al reproducirla en un explorador, fuera de Test Studio.

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

Funciones de prueba

Además de las funciones disponibles en Power Apps, a continuación se indican las funciones comunes que se suelen usar al crear pruebas:

Pasos siguientes

Nota

¿Puede indicarnos sus preferencias de idioma de documentación? Realice una breve encuesta. (tenga en cuenta que esta encuesta está en inglés)

La encuesta durará unos siete minutos. No se recopilan datos personales (declaración de privacidad).