Compartir por


Power Apps Test Engine Power Fx Functions (vista previa)

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.

O motor de probas usa estas funcións existentes de PowerFx:

Estas funcións só están dispoñibles para o seu uso no motor de probas:

O motor de probas ofrece estas funcións de vista previa:

Funcións do motor de proba

Estas funcións só están dispoñibles para ser usadas co motor de probas

Captura de pantalla

Screenshot(fileNameOfScreenshot)

Esta función fai unha captura de pantalla da aplicación no momento actual. O ficheiro de captura de pantalla gárdase no cartafol de saída de proba e co nome proporcionado.

Nota

Só se admiten ficheiros jpeg e png.

Exemplo de captura de pantalla

Screenshot("buttonClicked.png")

Agarda

Wait(Control, Property, Value)

Esta función agarda a que a propiedade do control sexa igual ao valor especificado.

Exemplo de espera

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

Funcións de vista previa

As seguintes funcións pódense incluír opcionalmente nas probas cando se usa o espazo de nomes *Preview* engadíndoo á lista *na propiedade *extensionModules* da propiedade *testSettings*. Power Fx PreviewallowPowerFxNamespaces......

Nota

  • As funcións de vista previa están suxeitas a cambios. A medida que estas funcións estean listas para un uso máis amplo, considérase que se moven dentro do espazo de nomes TestEngine .
  • Podes usar funcións definidas polo usuario para encapsular funcións e facilitar a migración a versións que non sexan de vista previa da función. Preview
  • Poderías facer que o modelo só devolva un obxecto JSON que poderías analizar usando a función ParseJSON .

Vista previa.AIExecutePrompt

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

Chama a unha Custom AI Builder prompt e obtén os resultados de texto da execución.

Nota

Revisa a sección *Integración da IA* para obter información sobre a dispoñibilidade e a configuración desta función. Dataverse

Revisa Uso de Preview.AIExecutePrompt para obter máis detalles e descricións sobre o uso desta función.

Exemplo de Preview.AIExecutePrompt

O seguinte exemplo chama á solicitude de IA chamada Capital do país cun valor de parámetro de País e agarda que a execución do modelo devolva unha única palabra París

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

Vista previa.Diálogo de consentimento

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

Agardar para confirmar un diálogo de consentimento para unha páxina personalizada de aplicación de lenzo ou de aplicación baseada en modelos

Exemplo de Preview.ConsentDialog

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

Vista previa.Pausa

Preview.Pause()

Pausar a proba e mostrar o Inspector de dramaturgos se se executa unha proba interactiva

Nota

Problema coñecido: A función Preview.Pause non abre correctamente o inspector para a execución da proba de pac
Descrición: A Preview.Pause función non consegue abrir o inspector durante un pac test run.
Solución alternativa: A versión open source do Motor de Proba pode usarse para a funcionalidade de pausa.

Exemplo de Vista Previa.Pausa

Preview.Pause()

Vista previa.SelectControl

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

Seleccionar un control usando o Modelo de obxectos de documento

Exemplo de Preview.SelectControl

Seleccionar a primeira coincidencia Button3

Preview.SelectControl(Button3,1);

Vista previa.DramaturgoAcción

Preview.PlaywrightAction(Text, Text)

Executar unha acción na páxina actual usando un localizador de Playwright CSS ou XPath

Exemplos de Preview.PlaywrightAction

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

Vista previa.Valor da acción do dramaturgo

Preview.PlaywrightActionValue(Text, Text, Text)

Executar unha acción na páxina actual usando un localizador Playwright CSS ou XPath con un valor

Exemplos de Preview.PlaywrightActionValue

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

Vista previa.Script de dramaturgo

Preview.PlaywrightScript(Text)

Executar o script C# na páxina actual

Nota

Esta función só está implementada para a compilación de Depuración desde open source versión do Test Engine, non en pac test run.

Exemplo de Preview.PlaywrightScript

Preview.PlaywrightScript("sample.csx")

Co contido do sample.csx código semellante a este:

// 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.SimularConector

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

Cando se realiza unha chamada desde Power Apps a un tipo de conector atopado en Lista de todos os conectores Power Apps

Exemplo de Preview.SimulateConnector

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

Vista previa.Simularverso de datos

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

Exemplo de Preview.SimulateDataverse

Neste exemplo, cando se realiza unha chamada para consultar a Dataverse entidade con nome lóxico sample_combotable , devolve os rexistros usando a función Table

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 e Simulación de conectores con Test Engine (vista previa)