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. Queste funzionalità sono disponibili prima di una versione ufficiale in modo che i clienti possano ottenere l'accesso iniziale e fornire dei commenti.
Test engine utilizza queste funzioni PowerFx esistenti:
Queste funzioni sono disponibili solo per l'uso in Test Engine:
Test Engine fornisce queste funzionalità di anteprima:
- Preview.AIExecutePrompt
- Preview.ConsentDialog
- Preview.Pause
- Preview.PlaywrightAction
- Preview.PlaywrightActionValue
- Preview.PlaywrightScript
- Preview.SelectControl
- Preview.SimulateConnector
- Preview.SimulateDataverse
Funzioni di Test Engine
Queste funzioni sono disponibili solo per l'uso in Test Engine
Screenshot
Screenshot(fileNameOfScreenshot)
Questa funzione acquisisce 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.
Screenshot di esempio
Screenshot("buttonClicked.png")
Attesa
Wait(Control, Property, Value)
Questa funzione attende che la proprietà del controllo sia uguale al valore specificato.
Esempio di attesa
Wait(Label1, "Text", "0")
Funzioni di anteprima
Le seguenti funzioni possono essere facoltativamente incluse nei test quando lo spazio dei nomi dell'anteprima di Power Fx aggiungendo Preview alla proprietà 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, crediamo che dovranno essere spostate all'interno dello spazio dei nomi
TestEngine. - Puoi utilizzare le funzioni definite dall'utente per racchiudere le funzioni
Previewe semplificare la migrazione alle versioni non di anteprima della funzione. - Puoi fare in modo che il modello restituisca solo un oggetto JSON che è possibile analizzare utilizzando la funzione
ParseJSON.
Preview.AIExecutePrompt
Preview.AIExecutePrompt(Name, {Property: Type})
Chiamare un prompt Custom AI Builder e ottenere i risultati di testo dell'esecuzione.
Nota
Per informazioni sulla disponibilità e la configurazione di questa funzione, consulta la sezione Integrazione AI Dataverse.
Per maggiori dettagli e descrizioni sull'utilizzo di questa funzione, consulta Utilizzo di Preview.AIExecutePrompt.
Esempio di Preview.AIExecutePrompt
L'esempio seguente richiama il prompt IA denominato Country Capital con un valore di parametro pari a Country e richiede che l'esecuzione del modello restituisca una singola parola Paris
Assert("Paris" = Preview.AIExecutePrompt("Country Capital", { Country: "France" }).Text)
Preview.ConsentDialog
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"}));
Preview.Pause
Preview.Pause()
Metti in pausa il test e visualizza 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 funzione Preview.Pause non riesce ad aprire il controllo durante un pac test run.
Workaround: La versione open source del motore di test può essere usata per la funzionalità di sospensione.
Esempio di Preview.Pause
Preview.Pause()
Preview.SelectControl
Preview.SelectControl(Control: ControlName, Index: Number)
Seleziona un controllo utilizzando Document Object Model
Esempio Preview.SelectControl
Seleziona la prima corrispondenza Button3
Preview.SelectControl(Button3,1);
Preview.PlaywrightAction
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");
Preview.PlaywrightActionValue
Preview.PlaywrightActionValue(Text, Text, Text)
Esegui un'azione sulla pagina corrente utilizzando un localizzatore Playwright CSS o XPath con un valore
Esempi di Preview.PlaywrightActionValue
Preview.PlaywrightAction("//input[@data-id='1']", "fill", "Hello");
Preview.PlaywrightScript
Preview.PlaywrightScript(Text)
Esegui lo script C# sulla pagina corrente
Nota
Questa funzione è implementata solo per la build Debug della versione open source del motore di test, ma non in pac test run.
Esempio di Preview.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')");
}
}
}
}
Preview.SimulateConnector
Preview.SimulateConnector({name: Text, then: Record})
Quando viene effettuata una chiamata da Power Apps a un tipo di connettore trovato da List di tutti i connettori Power Apps
Esempio di 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})
Esempio di Preview.SimulateDataverse
In questo esempio, quando viene effettuata una chiamata per interrogare l'entità Dataverse 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 Test Engine (anteprima)