Notă
Accesul la această pagină necesită autorizare. Puteți încerca să vă conectați sau să modificați directoarele.
Accesul la această pagină necesită autorizare. Puteți încerca să modificați directoarele.
Notă
Caracteristicile în regim de previzualizare nu sunt destinate utilizării în producție și pot avea funcționalitate restricționată. Aceste caracteristici sunt disponibile înainte de lansarea oficială, astfel încât clienții să poată obține acces din timp și să poată oferi feedback.
Motorul de testare utilizează aceste funcții PowerFx existente:
Aceste funcții sunt disponibile pentru utilizare numai în Test Engine:
Motorul de testare oferă aceste funcții de previzualizare:
- Previzualizare.AIExecutePrompt
- Previzualizare.Dialog de consimțământ
- Previzualizare.Pauză
- Previzualizare.DramaturgismAcțiune
- Previzualizare.ValoareAcțiuneDramaturgistă
- Previzualizare.Script Dramaturgic
- Previzualizare.SelectareControl
- Previzualizare.SimulareConector
- Previzualizare.SimulareDataverse
Funcțiile motorului de testare
Aceste funcții sunt disponibile doar pentru utilizare cu motorul de testare
Captură de ecran
Screenshot(fileNameOfScreenshot)
Această funcție face o captură de ecran a aplicației la momentul curent. Fișierul capturii de ecran este salvat în folderul de ieșire a testului și cu numele furnizat.
Notă
Sunt acceptate doar fișierele jpeg și png.
Exemplu de captură de ecran
Screenshot("buttonClicked.png")
Așteptați
Wait(Control, Property, Value)
Această funcție așteaptă ca proprietatea controlului să fie egală cu valoarea specificată.
Exemplu de așteptare
Wait(Label1, "Text", "0")
Funcții de previzualizare
Următoarele funcții pot fi incluse opțional în teste atunci când spațiul de nume *Preview* este activat prin adăugarea la lista *din proprietatea *extensionModules* a *testSettings*. Power Fx PreviewallowPowerFxNamespaces......
Notă
- Funcțiile de previzualizare pot fi modificate. Pe măsură ce aceste funcții devin pregătite pentru o utilizare mai largă, se consideră că se mută în spațiul de nume
TestEngine. - Puteți utiliza funcții definite de utilizator pentru a încapsula funcții și a facilita migrarea către versiuni non-preview ale funcției.
Preview - Ai putea face ca modelul să returneze doar un obiect JSON pe care să-l poți analiza folosind funcția
ParseJSON.
Previzualizare.AIExecutePrompt
Preview.AIExecutePrompt(Name, {Property: Type})
Apelați un prompt Custom AI Builder și obțineți rezultatele text ale execuției.
Notă
Consultați secțiunea *Integrare AI* pentru informații despre disponibilitatea și configurarea acestei funcții. Dataverse
Consultați Utilizarea Preview.AIExecutePrompt pentru mai multe detalii și descrieri ale utilizării acestei funcții.
Exemplu Preview.AIExecutePrompt
Următorul exemplu apelează promptul AI numit Country Capital cu o valoare a parametrilor de Country și se așteaptă ca execuția modelului să returneze un singur cuvânt Paris
Assert("Paris" = Preview.AIExecutePrompt("Country Capital", { Country: "France" }).Text)
Previzualizare.Dialog de consimțământ
Preview.ConsentDialog(Table({Text: Text}));
Așteptați confirmarea unui dialog de consimțământ pentru o pagină personalizată a aplicației pe pânză sau a aplicației bazate pe model
Exemplu de Preview.ConsentDialog
Preview.ConsentDialog(Table({Text: "Your Dialog Title"}));
Previzualizare.Pauză
Preview.Pause()
Întrerupeți testul și afișați Inspectorul de dramaturgi dacă rulați un test interactiv
Notă
Problemă cunoscută: Funcția Preview.Pause nu deschide corect inspectorul pentru rularea testului PAC
Descriere: Funcția Preview.Pause nu reușește să deschidă inspectorul în timpul pac test run unei operațiuni.
Soluție: Versiunea open source a motorului de testare poate fi utilizată pentru funcționalitatea de pauză.
Exemplu de previzualizare.pauză
Preview.Pause()
Previzualizare.SelectareControl
Preview.SelectControl(Control: ControlName, Index: Number)
Selectați un control utilizând Modelul de obiecte al documentului
Exemplu de Preview.SelectControl
Selectați prima potrivire Button3
Preview.SelectControl(Button3,1);
Previzualizare.DramaturgismAcțiune
Preview.PlaywrightAction(Text, Text)
Execută o acțiune pe pagina curentă utilizând un locator Playwright CSS sau XPath
Exemple de previzualizare.PlaywrightAction
Preview.PlaywrightAction("//button", "click");
Preview.PlaywrightAction("//button", "exists");
Preview.PlaywrightAction("//button", "wait");
Previzualizare.ValoareAcțiuneDramaturgistă
Preview.PlaywrightActionValue(Text, Text, Text)
Execută o acțiune pe pagina curentă folosind un locator Playwright CSS sau XPath Locator cu o valoare
Exemple de valori Preview.PlaywrightActionValue
Preview.PlaywrightAction("//input[@data-id='1']", "fill", "Hello");
Previzualizare.Script Dramaturgic
Preview.PlaywrightScript(Text)
Executați scriptul C# pe pagina curentă
Notă
Această funcție este implementată doar pentru versiunea Debug build din versiunea open source a Test Engine, nu în rularea de testare pac.
Exemplu de script Preview.Playwright
Preview.PlaywrightScript("sample.csx")
Cu conținutul codului sample.csx similar cu acest cod:
// 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')");
}
}
}
}
Previzualizare.SimulareConector
Preview.SimulateConnector({name: Text, then: Record})
Când se efectuează un apel de la Power Apps către un tip de conector găsit din Lista tuturor Power Apps conectorilor
Exemplu Preview.SimulateConnector
Preview.SimulateConnector({
name: "msnweather",
then: {responses: {
daily: {
day: {
summary: "You are seeing the mock response" }
}
}
}
})
Previzualizare.SimulareDataverse
Preview.SimulateDataverse({Action: Text, Entity: Text, Then: Table})
Exemplu Preview.SimulateDataverse
În acest exemplu, atunci când se efectuează un apel pentru a interoga entitatea cu nume logic, aceasta returnează înregistrările folosind funcția Table Dataverse sample_combotable...
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"
}
)
});
Articole asociate
Dataverse și Simulare conectori cu motor de testare (previzualizare)