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.
Note
De test-engine is afgeschaft en wordt verwijderd in een toekomstige release. Gebruik Power Platform Playwright-voorbeelden voor testautomatiseringsmogelijkheden in Power Platform en Dynamics 365-services.
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
- Voorvertoning.Pauzeren
- Preview.PlaywrightAction
- Preview.PlaywrightActionValue
- Preview.PlaywrightScript
- Preview.SelectControl
- Preview.SimulateConnector
- Preview.SimulateDataverse
Test motorfuncties
Deze functies zijn alleen beschikbaar voor gebruik met Test Engine
Screenshot
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.
Note
Alleen jpeg- en png-bestanden worden ondersteund.
Schermafbeelding Voorbeeld
Screenshot("buttonClicked.png")
Wait
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")
Voorbeeldweergavefuncties
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.
Note
- 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 Custom AI Builder prompt aan en haal tekstresultaten op van de uitvoering.
Note
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"}));
Voorvertoning Pauzeren
Preview.Pause()
Pauzeer de test en toon de Playwright Inspector als u een interactieve test uitvoert
Note
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.
Oplossing: De open source-versie van de test-engine kan worden gebruikt voor pauzefunctionaliteit.
Voorbeeld van Preview.Pause
Preview.Pause()
Voorbeeld.SelectControl
Preview.SelectControl(Control: ControlName, Index: Number)
Selecteer een element met behulp van de Document Object Model
Preview.SelectControl Voorbeeld
Selecteer eerste Button3 overeenkomst
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.PlaywrightScript
Preview.PlaywrightScript(Text)
Voer het C#-script uit op de huidige pagina
Note
Deze functie wordt alleen geïmplementeerd voor de Debug build van de open source versie van Test Engine, niet in pac-testuitvoering.
Preview.PlaywrightScript Voorbeeld
Preview.PlaywrightScript("sample.csx")
Met een inhoud die lijkt op de code van sample.csx.
// 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 een aanroep wordt uitgevoerd van Power Apps naar een connectortype dat is gevonden vanuit Lijst van alle Power Apps connectors
Preview.SimulateConnector Voorbeeld
Preview.SimulateConnector({
name: "msnweather",
then: {responses: {
daily: {
day: {
summary: "You are seeing the mock response" }
}
}
}
})
Voorvertoning.SimuleerDataverse
Preview.SimulateDataverse({Action: Text, Entity: Text, Then: Table})
Preview.SimulateDataverse-voorbeeld
In dit voorbeeld, wanneer een aanroep wordt gedaan om de Dataverse-entiteit met de logische naam sample_combotable te bevragen, worden de records geretourneerd met behulp van de tabelfunctie.
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"
}
)
});
Verwante artikelen
Dataverse- en Connector-simulatie met test-engine (verouderd)