Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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 tener un acceso anticipado y proporcionar comentarios.
Test Engine utiliza estas funciones PowerFx existentes:
- Assert
- Seleccionar función
- Función SetProperty
Estas funciones están disponibles para usarlas únicamente en Test Engine:
- Captura de pantalla
- Espera
Test Engine proporciona estas funciones de versión preliminar:
- Preview.AIExecutePrompt
- Preview.ConsentDialog
- Preview.Pause
- Preview.PlaywrightAction
- Preview.PlaywrightActionValue
- Preview.PlaywrightScript
- Preview.SelectControl
- Preview.SimulateConnector
- Preview.SimulateDataverse
Funciones de Test Engine
Estas funciones solo están disponibles para usarlas con Test Engine
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
Solo 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 versión preliminar
Las siguientes funciones se pueden incluir opcionalmente en las pruebas cuando se agrega el espacio de nombres de versión preliminar de Power Fx agregando a la lista extensionModules en la propiedad extensionModules de testSettings.
Nota
- Las funciones de versión preliminar están sujetas a cambios. A medida que estas funciones están listas para un uso más amplio, se considera moverlas dentro del espacio de nombres .
- Puede utilizar funciones definidas por el usuario para encapsular funciones y facilitar la migración a versiones que no sean de versión preliminar de la función.
- Podría hacer que el modelo solo devuelva un objeto JSON que pueda analizar mediante la función .
Preview.AIExecutePrompt
Preview.AIExecutePrompt(Name, {Property: Type})
Llame a un Custom AI Builder prompt y obtenga los resultados de texto de la ejecución.
Nota
Revise la sección Integración de IA de Dataverse para obtener información sobre la disponibilidad y configuración de esta función.
Revise Usar 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)
Preview.ConsentDialog
Preview.ConsentDialog(Table({Text: Text}));
Esperar 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"}));
Preview.Pause
Preview.Pause()
Pause la prueba y muestre el Inspector de Playwright 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 función no puede abrir el inspector durante una .
Workaround: La versión código abierto del motor de pruebas se puede usar para la funcionalidad de pausa.
Ejemplo de Preview.Pause
Preview.Pause()
Preview.SelectControl
Preview.SelectControl(Control: ControlName, Index: Number)
Seleccionar un control utilizando el modelo de objetos de documento
Ejemplo de Preview.SelectControl
Seleccione la primera coincidencia de
Preview.SelectControl(Button3,1);
Preview.PlaywrightAction
Preview.PlaywrightAction(Text, Text)
Ejecutar una acción en la página actual usando un localizador CSS o XPath de Playwright
Ejemplos de Preview.PlaywrightAction
Preview.PlaywrightAction("//button", "click");
Preview.PlaywrightAction("//button", "exists");
Preview.PlaywrightAction("//button", "wait");
Preview.PlaywrightActionValue
Preview.PlaywrightActionValue(Text, Text, Text)
Ejecutar una acción en la página actual usando un localizador CSS o XPath con un valor
Ejemplos de Preview.PlaywrightActionValue
Preview.PlaywrightAction("//input[@data-id='1']", "fill", "Hello");
Preview.PlaywrightScript
Preview.PlaywrightScript(Text)
Ejecutar el script de C# en la página actual
Nota
Esta función está implementada solo para la versión de depuración de la versión de código abierto del Test Engine, no en pac test run.
Ejemplo de Preview.PlaywrightScript
Preview.PlaywrightScript("sample.csx")
Con un contenido de similar a este código:
// 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')");
}
}
}
}
Preview.SimulateConnector
Preview.SimulateConnector({name: Text, then: Record})
Cuando se realiza una llamada desde Power Apps a un tipo de conector que se encuentra en Lista de todos los conectores de Power Apps
Ejemplo de Preview.SimulateConnector
Preview.SimulateConnector({
name: "msnweather",
then: {responses: {
daily: {
day: {
summary: "You are seeing the mock response" }
}
}
}
})
Preview.SimulateDataverse
Preview.SimulateDataverse({Action: Text, Entity: Text, Then: Table})
Ejemplo de Preview.SimulateDataverse
En este ejemplo, cuando se realiza una llamada para consultar la entidad de Dataverse con nombre lógico, devuelve los registros utilizando la función Tabla
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"
}
)
});
Artículos relacionados
Dataverse y simulación de conectores con Test Engine (versión preliminar)