Condividi tramite


Power Apps Funzioni del motore di test (anteprima) Power Fx

Nota

Le funzionalità di anteprima non sono destinate ad essere utilizzate per la produzione e sono soggette a restrizioni. Vengono rese disponibili prima di una versione ufficiale in modo che i clienti possano accedervi con anticipo e fornire i loro commenti.

Il motore di prova utilizza queste funzioni PowerFx esistenti:

Queste funzioni sono disponibili solo per l'uso nel motore di test:

Il motore di test fornisce queste funzioni di anteprima:

Funzioni del motore di prova

Queste funzioni sono disponibili solo per l'uso con il motore di test

Screenshot

Screenshot(fileNameOfScreenshot)

Questa funzione cattura uno screenshot dell'app nel momento corrente. Il file dello screenshot viene salvato nella cartella di output del test con il nome fornito.

Nota

Sono supportati solo i file jpeg e png.

Esempio di screenshot

Screenshot("buttonClicked.png")

Attendi

Wait(Control, Property, Value)

Questa funzione attende che la proprietà del controllo sia uguale al valore specificato.

Aspetta esempio

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

Funzioni di anteprima

Le seguenti funzioni possono essere facoltativamente incluse nei test quando lo spazio dei nomi Power Fx Preview viene aggiunto Preview all' allowPowerFxNamespaces elenco nella proprietà extensionModules di testSettings.

Nota

  • Le funzioni di anteprima sono soggette a modifiche. Man mano che queste funzioni saranno pronte per un utilizzo più ampio, si pensa che dovranno essere spostate all'interno dello spazio dei nomi. TestEngine
  • È possibile utilizzare le funzioni definite dall'utente per racchiudere le funzioni e semplificare la migrazione alle versioni non di anteprima della funzione. Preview
  • È possibile fare in modo che il modello restituisca solo un oggetto JSON che è possibile analizzare utilizzando la funzione. ParseJSON

Anteprima.AIExecutePrompt

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

Chiama un prompt personalizzato e ottieni i risultati in formato testo dell'esecuzione. AI Builder

Nota

Per informazioni sulla disponibilità e la configurazione di questa funzione, consultare la sezione Dataverse Integrazione AI .

Per maggiori dettagli e descrizioni sull'utilizzo di questa funzione, consultare Utilizzo di Preview.AIExecutePrompt .

Esempio di Preview.AIExecutePrompt

L'esempio seguente chiama il prompt AI denominato Country Capital con un valore di parametro pari a Country e si aspetta che l'esecuzione del modello restituisca una singola parola Paris

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

Anteprima.Dialogo di consenso

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

Attendi per confermare una finestra di dialogo di consenso per una pagina personalizzata di un'applicazione canvas o di un'applicazione basata su modello

Esempio di Preview.ConsentDialog

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

Anteprima.Pausa

Preview.Pause()

Metti in pausa il test e visualizza l' Playwright Inspector se stai eseguendo un test interattivo

Nota

Problema noto: La funzione Preview.Pause non apre correttamente l'ispettore per l'esecuzione del test PAC
Descrizione: La Preview.Pause funzione non riesce ad aprire l'ispettore durante a pac test run.
Soluzione alternativa: La versione open source del Test Engine può essere utilizzata per la funzionalità di pausa.

Esempio di Anteprima.Pausa

Preview.Pause()

Anteprima.SelezionaControllo

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

Selezionare un controllo utilizzando il Document Object Model

Esempio di Preview.SelectControl

Seleziona la prima Button3 partita

Preview.SelectControl(Button3,1);

Anteprima.Azione drammaturgo

Preview.PlaywrightAction(Text, Text)

Esegui un'azione sulla pagina corrente utilizzando un localizzatore Playwright CSS o XPath

Esempi di Preview.PlaywrightAction

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

Anteprima.ValoreAzioneDrammatico

Preview.PlaywrightActionValue(Text, Text, Text)

Esegui un'azione sulla pagina corrente utilizzando un Playwright CSS o un XPath Locator con un valore

Esempi di Preview.PlaywrightActionValue

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

Anteprima.Copione del drammaturgo

Preview.PlaywrightScript(Text)

Esegui lo script C# sulla pagina corrente

Nota

Questa funzione è implementata solo per la build di debug dalla versione open source di Test Engine e non nell' esecuzione del test pac.

Anteprima.Esempio di PlaywrightScript

Preview.PlaywrightScript("sample.csx")

Con il contenuto del sample.csx simile a questo codice:

// 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')");
            }
        }
    }
}

Anteprima.SimulaConnettore

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

Quando viene effettuata una chiamata da Power Apps a un tipo di connettore trovato da Elenco di tutti i Power Apps connettori

Esempio di Preview.SimulateConnector

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

Anteprima.Simula Dataverse

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

Esempio di Preview.SimulateDataverse

In questo esempio, quando viene effettuata una chiamata per interrogare l' Dataverse entità con nome logico sample_combotable , vengono restituiti i record utilizzando la funzione Tabella

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 simulazione del connettore con motore di prova (anteprima)