Formato YAML de Power Apps Test Engine (vista previa)
[Este tema es documentación preliminar y está sujeto a modificaciones.]
Las pruebas se definen en YAML siguiendo las mismas pautas que Power Fx . Obtenga más información sobre la gramática de fórmulas de Power Fx YAML.
Vea la carpeta PowerApps-TestEngine/samples para ver ejemplos detallados.
Definición del esquema YAML
Propiedad | Descripción |
---|---|
testSuite | Define un conjunto de pruebas, los casos de prueba en el conjunto de pruebas y la configuración específica del conjunto de pruebas |
testSettings | Define la configuración para el conjunto de pruebas que se reutiliza en múltiples casos de prueba |
environmentVariables | Define variables que potencialmente podrían cambiar a medida que la aplicación se traslada a diferentes entornos |
testSuite
Se utiliza para definir una prueba.
Definición del esquema YAML de prueba
Propiedad | Obligatorio | Descripción |
---|---|---|
testSuiteName |
Sí | Nombre del conjunto de prueba |
testSuiteDescription |
No | Información adicional para describir lo que hace el conjunto de prueba |
persona |
Sí | El usuario que inició sesión para realizar la prueba. Debe coincidir con una persona enumerada en la sección Usuarios |
appLogicalName |
Sí | El nombre lógico de la aplicación que se va a lanzar. Se puede obtener de la solución. Para aplicaciones de lienzo, debe agregarlas a una solución para obtenerlas |
appId |
No | El ID de la aplicación que se va a lanzar. Se requiere y se usa solo cuando el nombre lógico de la aplicación no está presente. El ID de aplicación debe usarse solo para aplicaciones de lienzo que no están en la solución |
networkRequestMocks |
No | Define los simulacros de solicitud de red necesarios para la prueba |
testCases |
Sí | Define los casos de prueba en el conjunto de pruebas. Los casos de prueba que contienen los conjuntos de prueba se ejecutan secuencialmente. El estado de la aplicación se conserva en todos los casos de prueba de un conjunto |
onTestCaseStart |
No | Define los pasos que deben activarse para cada caso de prueba en una suite antes de que el caso comience a ejecutarse |
onTestCaseComplete |
No | Define los pasos que deben activarse para cada caso de prueba en una suite después de que el caso termine de ejecutarse |
onTestSuiteComplete |
No | Define los pasos que deben activarse después de que la suite termine de ejecutarse |
Prueba NetworkRequestMocks
Property | Obligatorio | Descripción |
---|---|---|
requestURL |
Sí | La URL de solicitud que obtiene una respuesta simulada. Se aceptan patrones globales |
responseDataFile |
Sí | Un archivo de texto con el contenido de la respuesta simulada. Todo el texto de este archivo se lee como respuesta |
method |
No | El método de la solicitud (GET, POST, etc.) |
headers |
No | Una lista de campos de encabezado en la solicitud en el formato de [nombre de campo: valor de campo] |
requestBodyFile |
No | Un archivo de texto con el cuerpo de la solicitud. Todo el texto de este archivo se lee como el cuerpo de la solicitud |
Para las propiedades opcionales, si no se especifica ningún valor, la ruta se aplica a todas. Por ejemplo, si method
es nulo, devolvemos la respuesta simulada sea cual sea el método, siempre que todas las demás propiedades coincidan.
Para SharePoint/Dataverse /Aplicaciones de conector, requestURL
y method
puede ser el mismo para todas las solicitudes. x-ms-request-method
y x-ms-request-url
en los encabezados puede tener que configurarse en ese caso para identificar diferentes solicitudes.
Probar casos de prueba
Propiedad | Obligatorio | Descripción |
---|---|---|
testCaseName |
Sí | El nombre del caso de prueba, se utiliza para informar el éxito y el fracaso |
testCaseDescription |
No | Información adicional para describir lo que hace el caso de prueba |
testSteps |
Sí | Un conjunto de funciones de Power Fx que describen los pasos necesarios para realizar el caso de prueba |
Prueba Pasos de prueba
- Esto puede usar cualquier existente función de motor de prueba Power Fx o funciones de prueba específicas definidas por este marco.
- Debería comenzar con
|
para permitir expresiones YAML de varias líneas seguidas de un=
firmar para indicar que es una expresión Power Fx - Las funciones deben estar separadas por un
;
- Se pueden utilizar comentarios y deben comenzar con
//
testSettings
Se utiliza para definir la configuración de las pruebas en el plan de pruebas.
Definición del esquema YAML testSettings
Property | Obligatorio | Descripción |
---|---|---|
locale |
Sí | La sintaxis local/cultural en la que están escritos los casos de prueba o los pasos de prueba. Para obtener más información, consulte Soporte global en Microsoft Power Fx. Si no se especifica, CultureInfo.CurrentCulture se utiliza para la configuración regional de forma predeterminada para analizar los pasos de prueba. |
browserConfigurations |
Sí | Una lista de configuraciones del navegador que se probarán. Se debe especificar al menos un navegador. |
recordVideo |
No | El valor predeterminado es falso. Si se establece en verdadero, se captura una grabación de vídeo de la prueba. |
headless |
No | El valor predeterminado es true. Si se establece en falso, el navegador aparece durante la ejecución de la prueba. |
timeout |
No | Valor de tiempo de espera en milisegundos. El valor predeterminado es 30.000 milisegundos (30 s). Si alguna operación tarda más que el límite de tiempo de espera, la prueba finaliza con un error. |
filePath |
No | La ruta del archivo a un archivo yaml separado con todas las configuraciones de prueba. Si se proporciona, anulará todas las configuraciones de prueba en el plan de prueba. |
testSettings Configuración del navegador
Property | Obligatorio | Descripción |
---|---|---|
browser |
Sí | El navegador que se iniciará durante la prueba. Debe coincidir con los navegadores compatibles con Playwright. |
device |
No | El dispositivo a emular al iniciar el navegador. Debe coincidir con los dispositivos compatibles con Playwright |
screenHeight |
No | La altura de la pantalla que se utilizará al iniciar el navegador. Si se especifica, también se debe especificar screenWidth . |
screenWidth |
No | La anchura de la pantalla que se utilizará al iniciar el navegador. Si se especifica, también se debe especificar screenHeight . |
Usuarios
Para garantizar que las credenciales se almacenen de manera segura, la definición de prueba hace referencia a los usuarios mediante un nombre personal. No se admite el almacenamiento de credenciales en archivos de planes de prueba.
Las referencias a las credenciales de usuario se encuentran en la sección environmentVariables
como una lista de users
Ejemplo:
environmentVariables:
- users:
- personaName: "User1"
emailKey: "user1Email"
passwordKey: "user1Password"
- personaName: "User2"
emailKey: "user2Email"
passwordKey: "user2Password"
personaName
se utiliza como parte de la definición de la prueba para indicar con qué usuario ejecutar la prueba.
Mecanismos de almacenamiento de credenciales admitidos
Nota
La autenticación multifactor no es compatible.
Variables de entorno
Para almacenar credenciales como variables de entorno, puede configurarlo de la siguiente manera:
# <a name="in-powershell---replace-variablename-and-variablevalue-with-the-correct-values"></a>In PowerShell - replace variableName and variableValue with the correct values
$env:variableName = "variableValue"
En YAML, es necesario definir dos propiedades para indicar que las credenciales de este usuario se almacenan en variables de entorno:
emailKey
: La variable de entorno utilizada para almacenar el correo electrónico del usuario.passwordKey
: La variable de entorno utilizada para almacenar la contraseña del usuario.
Ejemplo de YAML:
- personaName: "User1"
emailKey: "user1Email"
passwordKey: "user1Password"
Ejemplo de PowerShell para configurar credenciales de usuario basadas en YAML:
$env:user1Email = "someone@example.com"
$env:user1Password = "fake password"
Consulte también
Descripción general de Power Apps Test Engine (vista previa)
Funciones de Power Apps Test Engine de Power Fx (vista previa)
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).