Nota
O acceso a esta páxina require autorización. Pode tentar iniciar sesión ou modificar os directorios.
O acceso a esta páxina require autorización. Pode tentar modificar os directorios.
Nota
As funcionalidades de vista previa non se deseñaron para uso de produción e poden ter funcionalidade restrinxida. Estas funcionalidades están dispoñibles antes da versión oficial para que os clientes poidan obter acceso a elas rápido e fornecer comentarios.
As probas defínense en YAML seguindo as mesmas pautas que Power Fx. Máis información sobre a gramática da fórmula YAML de Power Fx.
Vexa o cartafol PowerApps-TestEngine/samples para obter exemplos detallados.
Definicións de esquemas YAML
| Propiedade | Descrición |
|---|---|
| Conxunto de probas | Define un conxunto de probas, os casos de proba no conxunto de probas e a configuración específica do conxunto de probas |
| Configuración da proba | Define a configuración do conxunto de probas que se reutilizan en varios casos de proba |
| Variables ambientais | Define as variables que poderían cambiar a medida que a aplicación se porta a diferentes ambientes |
Conxunto de probas
Utilízase para definir unha proba.
| Propiedade | Tipo | Descrición |
|---|---|---|
persona |
cadea | Requirido. O usuario que iniciou sesión para realizar a proba. Debe coincidir cunha persoa listada na sección Usuarios . |
testCases |
Casos de proba | Requirido. Define os casos de proba no conxunto de probas. Os casos de proba contidos nos conxuntos de probas execútanse secuencialmente. O estado da aplicación persiste en todos os casos de proba dunha suite. |
testSuiteName |
cadea | Requirido. O nome da suite de probas. |
appLogicalName |
cadea | Opcional. Nome lóxico da aplicación que se vai lanzar. Pódese obter a partir da solución. Para as aplicacións de lenzo, debes engadilo a unha solución para obtelo. Vexa como identificar a túa aplicación no plan de probas |
appId |
Guid | Opcional. Identificación da aplicación que se vai lanzar. É necesario e só se usa cando appLogicalName non está presente. O ID da aplicación só debe usarse para as aplicacións de lenzo que non están na solución. Vexa como identificar a túa aplicación no plan de probas |
networkRequestMocks |
Mocks de solicitude de rede | Opcional. Define as simulacións de solicitudes de rede necesarias para a proba. |
onTestCaseComplete |
cadea | Opcional. Define os pasos que deben ser desencadeados para cada caso de proba nunha suite despois de que o caso remate de executarse. |
onTestCaseStart |
cadea | Opcional. Define os pasos que deben ser desencadeados para cada caso de proba nunha suite antes de que o caso comece a executarse. |
onTestSuiteComplete |
cadea | Opcional. Define os pasos que deben ser desencadeados despois de que a suite remate de executarse. |
testSuiteDescription |
cadea | Opcional. A información adicional describe o que fai a suite de probas. |
Como identificar a túa aplicación no plan de probas
É necesario configurar appLogicalName ou appId identificar a súa aplicación. O uso depende de se a túa aplicación está definida dentro dunha solución.
Aplicacións baseadas en solucións (recomendado)
Cando defines as túas aplicacións dentro das solucións, as túas probas permanecen portátiles en todos os ambientes. Establece a propiedade appLogicalName para indicar que a aplicación está baseada en solucións.
Para localizar o nome lóxico da aplicación:
- Abre a solución que contén a túa aplicación en Power Apps
- Utiliza o nome (non o nome de visualización) na lista. O valor do nome inclúe o prefixo de personalización para o editor da solución.
Aplicacións autónomas
Cando a túa aplicación non está definida dentro dunha solución, debes usar a propiedade appId .
Para localizar o ID da aplicación:
- Localiza a aplicación na lista de Power Apps
- Abrir Detalles e anotar o GUID do ID da aplicación
Mocks de solicitude de rede
| Propiedade | Tipo | Descrición |
|---|---|---|
requestURL |
cadea | Requirido. URL da solicitude que recibe a resposta simulada. Os patróns globais son aceptados |
responseDataFile |
cadea | Requirido. Ficheiro de texto co contido da resposta simulada. Todo o texto deste ficheiro é lido como resposta |
headers |
matriz | Opcional. Unha lista de campos de cabeceira na solicitude no formato de [fieldName: fieldValue] |
method |
cadea | Opcional. O método da solicitude (GET, POST, etc.) |
requestBodyFile |
cadea | Opcional. Ficheiro de texto co corpo da solicitude. Todo o texto deste ficheiro lese como o corpo da solicitude |
Para as propiedades opcionais, se non se especifica ningún valor, o enrutamento aplícase a todos. Por exemplo, se method é nulo, enviamos a resposta simulada sexa cal sexa o método, sempre que as outras propiedades coincidan.
Para aplicacións requestURL de Sharepoint/Dataverse/Connector e method pode ser o mesmo para todas as solicitudes.
x-ms-request-method e x-ms-request-url nese caso podería ter que configurar as cabeceiras para identificar diferentes solicitudes.
Casos de proba
| Propiedade | Tipo | Descrición |
|---|---|---|
testCaseName |
cadea | Requirido. O nome do caso de proba que se usa para informar de éxito e fracaso |
testSteps |
Pasos de proba | Requirido. Un conxunto de funcións de Power Fx que describen os pasos necesarios para realizar o caso de proba. Vexa o exemplo de TestSteps |
testCaseDescription |
Non | Opcional. A información adicional describe o que fai o caso de proba |
Pasos de proba
-
TestStepsPode usar calquera función de función de Power Fx do motor de proba existente ou funcións de proba específicas definidas por este framework. - O valor debe comezar cun símbolo de tubo (
|) para permitir expresións YAML multiliña seguidas dun signo igual (=) para indicar que é unha expresión de Power Fx - As funcións deben estar separadas por un punto e virgula (
;). - Os comentarios pódense usar e deben comezar con caracteres de barra inversa dobre (
//).
Exemplo de TestSteps
testCases:
- testCaseName: Fill in a city name and do the search
testSteps: |
= Screenshot("connectorapp_loaded.png");
SetProperty(TextInput1.Text, "Atlanta");
Select(Button1);
Assert(Label4.Text = "You are seeing the mock response", "Validate the output is from the mock");
Screenshot("connectorapp_end.png");
Configuración da proba
Utilízase para definir a configuración das probas no plan de probas.
| Propiedade | Tipo | Descrición |
|---|---|---|
browserConfigurations |
Configuración do navegador[] | Requirido. Lista de configuracións do navegador a probar. Debe especificarse polo menos un navegador. |
extensionModules |
módulos de extensión | Opcional. Contén datos sobre as extensións a habilitar. |
filePath |
cadea | Opcional. A ruta do ficheiro a un ficheiro yaml separado con todos os axustes de proba. Se se proporciona, anulará todos os axustes de proba no plan de proba. |
headless |
boolean | Opcional. O valor predeterminado é verdadeiro. Se se establece en false, o navegador aparece durante a execución da proba. |
locale |
cadea | Opcional. Sintaxe local/cultura na que se escriben os casos de proba ou os pasos de proba. Se non se especifica, CultureInfo.CurrentCulture utilízase para a localización por defecto para analizar os pasos de proba.
Consideracións sobre a rexión e a lingua |
recordVideo |
boolean | Opcional. O defecto é falso. Se se establece en true, capturarase unha gravación de vídeo da proba. |
timeout |
Número enteiro | Opcional. Valor de tempo límite en milisegundos. A duración predeterminada é de 30.000 milisegundos (30 segundos). Se algunha operación leva máis tempo que o límite de tempo límite, remata a proba nun fallo. |
powerFxTestTypes |
name
value Emparellar |
Opcional. Lista de nomes de tipo e definicións de tipo de Power Fx. Vexa o exemplo de powerFxTestTypes |
testFunctions |
description
code Emparellar |
Opcional. Lista de descricións e definicións de funcións de Power Fx. Vexa o exemplo de testFunctions |
módulos de extensión
Contén datos sobre as extensións a habilitar.
| Propiedade | Tipo | Descrición |
|---|---|---|
enable |
boolCity name (optional, probably does not need | Indica se os módulos de extensión están activados ou non. |
allowPowerFxNamespaces |
lista | Lista de espazos de nomes de PowerFx a habilitar. |
parameters |
Pares de valor clave | Propiedades con valores para controlar os módulos de extensión. Polo momento, só o parámetro booleano enableDataverseFunctions é válido para iso. |
Este exemplo móstrase como habilitar o espazo de nomes de PowerFx Preview :
testSettings:
extensionModules:
enable: true
allowPowerFxNamespaces:
- Preview
Máis información sobre as funcións de vista previa
Consideracións lingüísticas e regionais
O motor de probas admite varias configuracións lingüísticas e rexionais, como separadores decimais e de lista. A propiedade testSettings.locale controla estes comportamentos. Para obter máis información, consulte Soporte global en Microsoft Power Fx.
Vexa estas configuracións de exemplo no repositorioPowerApps-TestEngine GitHub:
- Para rexións que usan punto e virgula como separadores de listas
- Para rexións que usan comas como separadores decimais
Exemplo de powerFxTestTypes
powerFxTestTypes:
- name: ControlName
value: |
{ControlName: Text}
- name: Options
value: |
[{Name: Text, Value: Number}]
Este exemplo móstrase como definir tipos de Power Fx personalizados para o seu uso nos seus casos de proba. O ControlName tipo defínese como un rexistro cun só Text campo, mentres que o Options tipo defínese como unha táboa de rexistros, cada un deles contén un Name campo de tipo Text e un Value campo de tipo Number. Os tipos personalizados pódense usar para crear escenarios de proba máis complexos e específicos, mellorando a flexibilidade e o poder das definicións de proba.
Exemplo de testFunctions
testFunctions:
- description: Wait until control is visible using Document Object Model (DOM) selector
code: |
WaitUntilVisible(control: Text): Void =
Preview.PlaywrightAction(Concatenate("//div[@data-id='", control, "']"), "wait");
- description: Get the options for a control using Power Fx control from Model Driven App (MDA)
code: |
GetOptions(control: ControlName): Options =
Preview.GetOptions(control);
Estes exemplos de funcións de proba demostran como definir funcións personalizadas de Power Fx para o seu uso nos seus casos de proba. A WaitUntilVisible función usa un selector DOM para esperar a que un control especificado sexa visible, usando accións de Playwright. A función GetOptions recupera as opcións para un control especificado desde unha aplicación baseada en modelos (MDA), usando o control Power Fx. Estas funcións personalizadas melloran a flexibilidade e a potencia das súas definicións de proba, permitindo escenarios de proba máis complexos e específicos.
Configuración do navegador
Cada configuración de proba require polo menos unha BrowserConfiguration.
| Propiedade | Tipo | Descrición |
|---|---|---|
browser |
cadea | Requirido. O navegador que se iniciará durante a proba. Debe coincidir cos navegadores soportados por Playwright. |
device |
cadea | Opcional. O dispositivo a emular ao iniciar o navegador. Debe coincidir cos dispositivos soportados por Playwright |
screenHeight |
Número enteiro | Opcional. A altura da pantalla a usar ao iniciar o navegador. Se se especifica, screenWidth tamén se debe especificar. |
screenWidth |
Número enteiro | Opcional. O ancho da pantalla a usar ao iniciar o navegador. Se se especifica, screenHeight tamén se debe especificar. |
Variables ambientais
Pode almacenar diferentes tipos de valores como valores ambientais, pero o caso máis común é almacenar información de credenciais cunha lista de usuarios.
Usuarios
Para garantir que as credenciais se almacenen de forma segura, a definición de proba fai referencia aos usuarios usando un personaName. Non se admite o almacenamento de credenciais en ficheiros do plan de proba.
Exemplo:
environmentVariables:
- users:
- personaName: "User1"
emailKey: "user1Email"
- personaName: "User2"
emailKey: "user2Email"
Utilízase personaName como parte da definición da proba para indicar como o usuario que executar a proba.
Mecanismos de almacenamento de credenciais soportados
Para almacenar as credenciais como variables de ambiente, pode configuralas do seguinte xeito:
# In PowerShell - replace variableName and variableValue with the correct values
$env:variableName = "variableValue"
No YAML, hai que definir dúas propiedades para indicar que as credenciais deste usuario están almacenadas en variables de ambiente:
-
emailKeyVariable de entorno utilizada para almacenar o correo electrónico do usuario.
Exemplo YAML:
- personaName: "User1"
emailKey: "user1Email"
Exemplo de PowerShell para establecer as credenciais de usuario baseadas en YAML:
$env:user1Email = "someone@example.com"
Véxase tamén
Visión xeral do motor de probas de Power Apps (vista previa)
Funcións de Power Apps Test Engine Power Fx (vista previa)