Compartir a través de


Power Apps Funciones del motor de pruebas (vista previa) Power Fx

Nota

Las características en vista previa no se han diseñado para un uso de producción y pueden tener una funcionalidad restringida. Estas características están disponibles antes del lanzamiento oficial, para que los clientes puedan obtener acceso anticipado y proporcionar comentarios.

El motor de prueba utiliza estas funciones PowerFx existentes:

Estas funciones están disponibles para su uso únicamente en el motor de prueba:

El motor de pruebas proporciona estas funciones de vista previa:

Funciones del motor de prueba

Estas funciones solo están disponibles para usarse con el motor de prueba

Captura de pantalla

Screenshot(fileNameOfScreenshot)

Esta función captura una captura de pantalla de la aplicación en el momento actual. El archivo de captura de pantalla se guarda en la carpeta de resultados de la prueba y con el nombre proporcionado.

Nota

Sólo se admiten archivos jpeg y png.

Ejemplo de captura de pantalla

Screenshot("buttonClicked.png")

Esperar

Wait(Control, Property, Value)

Esta función espera a que la propiedad del control sea igual al valor especificado.

Ejemplo de tiempo de espera

Wait(Label1, "Text", "0")

Funciones de vista previa

Las siguientes funciones se pueden incluir opcionalmente en las pruebas cuando se agrega el espacio de nombres Power Fx Vista previa Preview a la lista en la propiedad allowPowerFxNamespaces extensionModules de testSettings .

Nota

  • Las funciones de vista previa están sujetas a cambios. A medida que estas funciones estén listas para un uso más amplio, se considerará que se mueven dentro del espacio de nombres. TestEngine
  • Puede utilizar funciones definidas por el usuario para encapsular funciones y facilitar la migración a versiones que no sean de vista previa de la función. Preview
  • Podrías hacer que el modelo solo devuelva un objeto JSON que puedas analizar usando la función ParseJSON .

Vista previa.AIExecutePrompt

Preview.AIExecutePrompt(Name, {Property: Type})

Llame a un indicador AI Builder personalizado y obtenga los resultados de texto de la ejecución.

Nota

Revise la sección Dataverse Integración de IA para obtener información sobre la disponibilidad y configuración de esta función.

Revise Uso de Preview.AIExecutePrompt para obtener más detalles y descripciones sobre el uso de esta función.

Ejemplo de Preview.AIExecutePrompt

El siguiente ejemplo llama al indicador de IA llamado Capital del país con un valor de parámetros de País y espera que la ejecución del modelo devuelva una sola palabra París

Assert("Paris" = Preview.AIExecutePrompt("Country Capital", { Country: "France" }).Text)

Vista previa.Diálogo de consentimiento

Preview.ConsentDialog(Table({Text: Text}));

Espere para confirmar un cuadro de diálogo de consentimiento para una aplicación de lienzo o una página personalizada de una aplicación basada en modelos

Ejemplo de Preview.ConsentDialog

Preview.ConsentDialog(Table({Text: "Your Dialog Title"}));

Vista previa.Pausa

Preview.Pause()

Pausa la prueba y muestra el Inspector de dramaturgos si se está ejecutando una prueba interactiva

Nota

Problema conocido:: La función Vista previa.Pausa no abre correctamente el inspector para la ejecución de pruebas de pac
Descripción: La Preview.Pause función no puede abrir el inspector durante una pac test run.
Solución alternativa: La versión de código abierto del motor de pruebas se puede utilizar para la funcionalidad de pausa.

Ejemplo de vista previa.Pausa

Preview.Pause()

Vista previa.SelectControl

Preview.SelectControl(Control: ControlName, Index: Number)

Seleccionar un control utilizando el Modelo de objeto de documento

Ejemplo de vista previa.SelectControl

Seleccione la primera coincidencia Button3

Preview.SelectControl(Button3,1);

Vista previa. DramaturgoAcción

Preview.PlaywrightAction(Text, Text)

Ejecutar una acción en la página actual usando un Playwright o un Localizador CSS XPath

Vista previa.Ejemplos de acción del dramaturgo

Preview.PlaywrightAction("//button", "click");
Preview.PlaywrightAction("//button", "exists");
Preview.PlaywrightAction("//button", "wait");

Vista previa.PlaywrightActionValue

Preview.PlaywrightActionValue(Text, Text, Text)

Ejecutar una acción en la página actual usando un Playwright CSS o un XPath Locator con un valor

Ejemplos de valores de acción de PlaywrightActionValue

Preview.PlaywrightAction("//input[@data-id='1']", "fill", "Hello");

Vista previa. Guión del dramaturgo

Preview.PlaywrightScript(Text)

Ejecutar el script de C# en la página actual

Nota

Esta función solo se implementa para la compilación de depuración de la versión de código abierto de Test Engine, no en la ejecución de prueba de pac .

Vista previa.Ejemplo de guión de dramaturgo

Preview.PlaywrightScript("sample.csx")

Con un contenido similar a este código: sample.csx

// Copyright (c) Microsoft Corporation.
// Licensed under the MIT License.

#r "Microsoft.Playwright.dll"
#r "Microsoft.Extensions.Logging.dll"
using Microsoft.Playwright;
using Microsoft.Extensions.Logging;
using System.Linq;
using System.Threading.Tasks;

public class PlaywrightScript {
    public static void Run(IBrowserContext context, ILogger logger) {
        Execute(context, logger).Wait();
    }

    public static async Task Execute(IBrowserContext context, ILogger logger) {
        var page = context.Pages.First();

        if ( page.Url == "about:blank" ) {
            var nextPage = context.Pages.Skip(1).First();
            await page.CloseAsync();
            page = nextPage;
        }

        foreach ( var frame in page.Frames ) {
            if ( await frame.Locator("button:has-text('Button')").CountAsync() > 0 ) {
                await frame.ClickAsync("button:has-text('Button')");
            }
        }
    }
}

Vista previa.SimulateConnector

Preview.SimulateConnector({name: Text, then: Record})

Cuando se realiza una llamada desde Power Apps a un tipo de conector encontrado en la Lista de todos los Power Apps conectores

Ejemplo de vista previa.SimulateConnector

Preview.SimulateConnector({
   name: "msnweather", 
   then: {responses: { 
      daily: { 
         day: { 
            summary: "You are seeing the mock response" }
            }
         }
      }
   })

Vista previa.SimulateDataverse

Preview.SimulateDataverse({Action: Text, Entity: Text, Then: Table})

Ejemplo de vista previa.SimulateDataverse

En este ejemplo, cuando se realiza una llamada para consultar la entidad con nombre lógico, devuelve los registros utilizando la función Tabla. Dataverse sample_combotable...

Preview.SimulateDataverse({
    Action: "Query",
    Entity: "sample_combotable",
    Then: Table(
    {
        'sample_name': "Item 1",
        'sample_id': 3,
        'sample_combotableid': "aaaaaaaa-0000-1111-2222-bbbbbbbbbbbb",
        'createdon': "2024-12-02T17:52:45Z"
    },
    {
        'sample_name': "RR2",
        'sample_id': 4,
        'sample_combotableid': "bbbbbbbb-1111-2222-3333-cccccccccccc",
        'createdon': "2024-12-02T17:54:45Z"
    },
        {
        'sample_name': "RR3",
        'sample_id': 5,
        'sample_combotableid': "cccccccc-2222-3333-4444-dddddddddddd",
        'createdon': "2024-12-02T17:54:45Z"
    }
    )
});

Dataverse y simulación de conectores con motor de pruebas (vista previa)