Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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:
- Anteprima.AIExecutePrompt
- Anteprima.Dialogo di consenso
- Anteprima.Pausa
- Anteprima.Azione drammaturgo
- Anteprima.ValoreAzioneDrammatico
- Anteprima.Copione del drammaturgo
- Anteprima.SelezionaControllo
- Anteprima.SimulaConnettore
- Anteprima.Simula Dataverse
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"
}
)
});
Articoli correlati
Dataverse e simulazione del connettore con motore di prova (anteprima)