Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Notitie
Preview-functies zijn niet bedoeld voor productiegebruik en bieden mogelijk beperkte functionaliteit. Deze functies zijn beschikbaar voorafgaand aan een officiële release, zodat klanten vroeg toegang kunnen krijgen en feedback kunnen geven.
Testengine maakt gebruik van de volgende bestaande PowerFx-functies:
Deze functies zijn alleen beschikbaar voor gebruik in de testengine:
De testengine biedt de volgende voorbeeldfuncties: ...
- Voorbeeld.AIExecutePrompt
- Preview.ConsentDialog
- Voorbeeld.Pauzeren
- Preview.ToneelschrijverActie
- Preview.PlaywrightActionValue
- Preview.ToneelschrijverScript
- Voorbeeld.SelectControl
- Preview.SimulateConnector
- Preview.SimulateDataverse
Test motorfuncties
Deze functies zijn alleen beschikbaar voor gebruik met Test Engine
Schermafbeelding
Screenshot(fileNameOfScreenshot)
Met deze functie wordt een screenshot van de app gemaakt op het huidige tijdstip. Het screenshotbestand wordt opgeslagen in de testuitvoermap en krijgt de opgegeven naam.
Notitie
Alleen jpeg- en png-bestanden worden ondersteund.
Screenshot voorbeeld
Screenshot("buttonClicked.png")
Wachten
Wait(Control, Property, Value)
Deze functie wacht tot de eigenschap van het besturingselement gelijk is aan de opgegeven waarde.
Wacht voorbeeld
Wait(Label1, "Text", "0")
Voorbeeldfuncties
De volgende functies kunnen optioneel worden opgenomen in tests wanneer de Power Fx Preview-naamruimte wordt gebruikt door Preview toe te voegen aan de allowPowerFxNamespaces lijst in de extensionModules eigenschap van de testSettings.
Notitie
- Previewfuncties zijn onderhevig aan verandering. Naarmate deze functies breder inzetbaar worden, worden ze binnen de
TestEnginenaamruimte verplaatst. - U kunt door de gebruiker gedefinieerde functies gebruiken om functies te verpakken en zo de migratie naar niet-previewversies van de functie eenvoudiger te maken.
Preview - U kunt het model bijvoorbeeld alleen een JSON-object laten retourneren, dat u kunt parseren met behulp van de functie
ParseJSON.
Voorbeeld.AIExecutePrompt
Preview.AIExecutePrompt(Name, {Property: Type})
Roep een aangepaste AI Builder prompt aan en ontvang tekstuele resultaten van de uitvoering.
Notitie
Raadpleeg de sectie Dataverse AI-integratie voor informatie over de beschikbaarheid en configuratie van deze functie.
Zie Using Preview.AIExecutePrompt voor meer informatie en beschrijvingen over het gebruik van deze functie.
Preview.AIExecutePrompt-voorbeeld
Het volgende voorbeeld roept de AI-prompt met de naam Country Capital aan met een parameterwaarde van Country en verwacht dat de modeluitvoering één woord retourneert: Parijs
Assert("Paris" = Preview.AIExecutePrompt("Country Capital", { Country: "France" }).Text)
Preview.ConsentDialog
Preview.ConsentDialog(Table({Text: Text}));
Wacht tot een toestemmingsdialoog voor een canvastoepassing of een aangepaste pagina voor een modelgestuurde toepassing is bevestigd
Preview.ConsentDialog Voorbeeld
Preview.ConsentDialog(Table({Text: "Your Dialog Title"}));
Voorbeeld.Pauzeren
Preview.Pause()
Pauzeer de test en toon de Playwright Inspector als u een interactieve test uitvoert
Notitie
Bekend probleem: De Preview.Pause-functie opent de inspector niet goed voor een PAC-testuitvoering
Beschrijving: De Preview.Pause functie kan de inspector niet openen tijdens a pac test run.
tijdelijke oplossing: De open source-versie van de Test Engine kan worden gebruikt voor pauzefunctionaliteit.
Voorbeeld van Preview.Pauze
Preview.Pause()
Voorbeeld.SelectControl
Preview.SelectControl(Control: ControlName, Index: Number)
Selecteer een besturingselement met behulp van het document Object Model
Preview.SelectControl Voorbeeld
Selecteer eerste Button3 match
Preview.SelectControl(Button3,1);
Preview.ToneelschrijverActie
Preview.PlaywrightAction(Text, Text)
Een actie uitvoeren op de huidige pagina met behulp van een Playwright CSS of XPath Locator
Preview.PlaywrightAction Voorbeelden
Preview.PlaywrightAction("//button", "click");
Preview.PlaywrightAction("//button", "exists");
Preview.PlaywrightAction("//button", "wait");
Preview.PlaywrightActionValue
Preview.PlaywrightActionValue(Text, Text, Text)
Voer een actie uit op de huidige pagina met behulp van een Playwright CSS of XPath Locator met een waarde
Preview.PlaywrightActionValue Voorbeelden
Preview.PlaywrightAction("//input[@data-id='1']", "fill", "Hello");
Preview.ToneelschrijverScript
Preview.PlaywrightScript(Text)
Voer het C#-script uit op de huidige pagina
Notitie
Deze functie is alleen geïmplementeerd voor de Debug-build van de open source-versie van Test Engine en niet in pac-testrun.
Preview.PlaywrightScript Voorbeeld
Preview.PlaywrightScript("sample.csx")
Met de inhoud van de sample.csx vergelijkbare code:
// 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})
Wanneer er een oproep wordt gedaan van Power Apps naar een connectortype gevonden in Lijst met alle Power Apps connectoren
Preview.SimulateConnector Voorbeeld
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})
Preview.SimulateDataverse-voorbeeld
In dit voorbeeld wordt een aanroep gedaan om de entiteit met de logische naam te bevragen. De records worden geretourneerd met behulp van de tabelfunctie. 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"
}
)
});