Not
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Obs
Förhandsversionsfunktioner ska inte användas i produktion och funktionerna kan vara begränsade. funktionerna är tillgängliga före den officiella publiceringen så att kunderna kan få tillgång tidigare och ge oss feedback.
Testmotorn använder dessa befintliga PowerFx-funktioner:
Dessa funktioner är endast tillgängliga för användning i testmotorn:
Testmotorn tillhandahåller följande förhandsgranskningsfunktioner:
- Preview.AIExecutePrompt
- Preview.ConsentDialog
- Förhandsgranska.Paus
- Preview.PlaywrightAction
- Preview.PlaywrightActionValue
- Förhandsgranska.PlaywrightScript
- Förhandsgranska.VäljKontrollera
- Preview.SimulateConnector
- Preview.SimulateDataverse
Testa motorns funktioner
Dessa funktioner är endast tillgängliga för att användas med testmotorn
Skärmbild
Screenshot(fileNameOfScreenshot)
Den här funktionen tar en skärmdump av appen vid den aktuella tidpunkten. Skärmbildsfilen sparas i testutdatamappen och med det angivna namnet.
Obs
Endast jpeg- och png-filer stöds.
Exempel på skärmdump
Screenshot("buttonClicked.png")
Wait
Wait(Control, Property, Value)
Den här funktionen väntar på att kontrollens egenskap ska vara lika med det angivna värdet.
Exempel på vänta
Wait(Label1, "Text", "0")
Funktioner för förhandsgranskning
Följande funktioner kan också inkluderas i tests när Preview namnområdet läggs till Power Fx PreviewallowPowerFxNamespaces i listan i extensionModules egenskapen för testSettings.
Obs
- Förhandsgranskningsfunktionerna kan komma att ändras. När dessa funktioner blir redo för bredare användning anses de flyttas inom
TestEnginenamnområdet. - Du kan använda användardefinierade funktioner för att omsluta
Previewfunktioner för att göra migreringen till icke-förhandsgranskningsversioner av funktionen enklare. - Du kan låta modellen bara returnera ett JSON-objekt som du kan parsa med hjälp av
ParseJSONfunktionen.
Preview.AIExecutePrompt
Preview.AIExecutePrompt(Name, {Property: Type})
Anropa en anpassad prompt AI Builder och få textresultat av körningen .
Obs
Dataverse Läs avsnittet AI-integrering för information om tillgänglighet och konfiguration av den här funktionen.
Läs Använda Preview.AIExecutePrompt för mer information och beskrivningar av hur du använder den här funktionen.
Preview.AIExecutePrompt-exempel
I följande exempel anropas AI-prompten med namnet Country Capital med parametervärdet Country och förväntar sig att modellkörningen returnerar ett enda ord Paris
Assert("Paris" = Preview.AIExecutePrompt("Country Capital", { Country: "France" }).Text)
Preview.ConsentDialog
Preview.ConsentDialog(Table({Text: Text}));
Vänta med att bekräfta en dialogruta för medgivande för ett arbetsyteprogram eller en anpassad sida för modellbaserade program
Preview.ConsentDialog-exempel
Preview.ConsentDialog(Table({Text: "Your Dialog Title"}));
Förhandsgranska.Paus
Preview.Pause()
Pausa testet och visa Playwright Inspector om du kör ett interaktivt test
Obs
Känt problem: Preview.Pause-funktionen öppnar inte inspektören för PAC-testkörning korrekt
Beskrivning: Funktionen Preview.Pause misslyckas med att öppna inspektören under en pac test run.
Lösning:Open source-versionen av testmotorn kan användas för pausfunktionalitet.
Preview.Pause-exempel
Preview.Pause()
Förhandsgranska.VäljKontrollera
Preview.SelectControl(Control: ControlName, Index: Number)
Välja en kontroll med hjälp av Dokumentobjektmodell
Preview.SelectControl-exempel
Välj första Button3 matchningen
Preview.SelectControl(Button3,1);
Preview.PlaywrightAction
Preview.PlaywrightAction(Text, Text)
Utför en åtgärd på den aktuella sidan med hjälp av en dramatiker CSS eller XPath positionerare
Preview.PlaywrightAction-exempel
Preview.PlaywrightAction("//button", "click");
Preview.PlaywrightAction("//button", "exists");
Preview.PlaywrightAction("//button", "wait");
Preview.PlaywrightActionValue
Preview.PlaywrightActionValue(Text, Text, Text)
Utför en åtgärd på den aktuella sidan med hjälp av en dramatiker CSS eller XPath positionerare med ett värde
Preview.PlaywrightActionValue-exempel
Preview.PlaywrightAction("//input[@data-id='1']", "fill", "Hello");
Förhandsgranska.PlaywrightScript
Preview.PlaywrightScript(Text)
Kör C#-skriptet på den aktuella sidan
Obs
Den här funktionen implementeras endast för felsökningsversionen från öppen källkodsversion av testmotorn som inte är i pac-testkörning.
Preview.PlaywrightScript-exempel
Preview.PlaywrightScript("sample.csx")
Med innehållet i liknande denna sample.csx kod:
// 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})
När ett anrop görs från Power Apps till en anslutningstyp som finns i Lista över alla Power Apps anslutningsappar
Preview.SimulateConnector-exempel
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})
Exempel på Preview.SimulateDataverse
I det här exemplet, när ett anrop görs för att fråga Dataverse entiteten med logiskt namn sample_combotable , returneras posterna med hjälp av tabellfunktionen
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"
}
)
});
Relaterade artiklar
Dataverse och anslutningssimulering med testmotor (förhandsversion)