Partajați prin


Power Apps Funcții ale motorului de testare (previzualizare) Power Fx

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:

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

Dataverse și Simulare conectori cu motor de testare (previzualizare)