Bemærk
Adgang til denne side kræver godkendelse. Du kan prøve at logge på eller ændre mapper.
Adgang til denne side kræver godkendelse. Du kan prøve at ændre mapper.
Bemærk
Forhåndsversionsfunktionerne er ikke beregnet til produktionsformål og kan have begrænset funktionalitet. Disse funktioner er tilgængelige før en officiel udgivelse, så kunderne kan få tidlig adgang og give feedback.
Testprogrammet bruger disse eksisterende PowerFx-funktioner:
Disse funktioner er kun tilgængelige til brug i testmotoren:
Testprogrammet indeholder disse prøveversionsfunktioner:
- Preview.AIExecutePrompt
- Preview.ConsentDialog
- Forhåndsvisning.Pause
- Forhåndsvisning.PlaywrightAction
- Forhåndsvisning.PlaywrightActionValue
- Preview.PlaywrightScript
- Eksempel.VælgKontrol
- Preview.SimulateConnector
- Forhåndsvisning.SimulateDataverse
Test motorens funktioner
Disse funktioner er kun tilgængelige til brug med Testmotor
Skærmbillede
Screenshot(fileNameOfScreenshot)
Denne funktion tager et skærmbillede af appen på det aktuelle tidspunkt. Skærmbilledefilen gemmes i testoutputmappen og med det angivne navn.
Bemærk
Kun jpeg- og png-filer understøttes.
Eksempel på skærmbillede
Screenshot("buttonClicked.png")
Vent
Wait(Control, Property, Value)
Denne funktion venter på, at egenskaben for kontrolelementet er lig med den angivne værdi.
Eksempel på ventning
Wait(Label1, "Text", "0")
Funktioner til forhåndsvisning
Følgende funktioner kan eventuelt inkluderes i tests, når Power Fx Preview-navneområdet føjes til Preview-listen i egenskaben allowPowerFxNamespaces for testSettings.
Bemærk
- Eksempelfunktionerne kan ændres. Efterhånden som disse funktioner bliver klar til bredere brug, anses de for at flytte inden for
TestEnginenavneområdet. - Du kan bruge brugerdefinerede funktioner til at ombryde
Previewfunktioner for at gøre det nemmere at overføre til ikke-prøveversioner af funktionen. - Du kan få modellen til kun at returnere et JSON-objekt, som du kan fortolke ved hjælp af funktionen
ParseJSON.
Preview.AIExecutePrompt
Preview.AIExecutePrompt(Name, {Property: Type})
Kald en Custom AI Builder prompt og hent tekstresultater af udførelsen.
Bemærk
Gennemse Dataverse afsnittet AI-integration for at få oplysninger om tilgængelighed og konfiguration af denne funktion.
Se Brug af Preview.AIExecutePrompt for at få flere oplysninger og beskrivelser af brugen af denne funktion.
Eksempel på Preview.AIExecutePrompt
I følgende eksempel kaldes AI-prompten med navnet Land Capital med parameterværdien Land og forventer, at modeludførelsen returnerer et enkelt ord Paris
Assert("Paris" = Preview.AIExecutePrompt("Country Capital", { Country: "France" }).Text)
Preview.ConsentDialog
Preview.ConsentDialog(Table({Text: Text}));
Vent med at bekræfte en samtykkedialogboks for et lærredprogram eller en brugerdefineret side for et modelbaseret program
Eksempel på Preview.ConsentDialog
Preview.ConsentDialog(Table({Text: "Your Dialog Title"}));
Forhåndsvisning.Pause
Preview.Pause()
Sæt testen på pause, og vis Playwright Inspector, hvis du kører en interaktiv test
Bemærk
Kendt problem: Preview.Pause-funktionen åbner ikke inspektøren korrekt for pac-testkørsel
Beskrivelse: Funktionen Preview.Pause kan ikke åbne inspektøren under en pac test run.
Workaround: Den open source version af testprogrammet kan bruges til pausefunktionalitet.
Eksempel på Preview.Pause
Preview.Pause()
Forhåndsvisning.VælgKontrol
Preview.SelectControl(Control: ControlName, Index: Number)
Markere et kontrolelement ved hjælp af Document Object Model
Eksempel.SelectControl Forhåndsvisning
Vælg første Button3 match
Preview.SelectControl(Button3,1);
Preview.Playwright.Action
Preview.PlaywrightAction(Text, Text)
Udfør en handling på den aktuelle side ved hjælp af en Playwright CSS eller XPath locator
Preview.PlaywrightAction eksempler
Preview.PlaywrightAction("//button", "click");
Preview.PlaywrightAction("//button", "exists");
Preview.PlaywrightAction("//button", "wait");
Forhåndsvisning.PlaywrightActionValue
Preview.PlaywrightActionValue(Text, Text, Text)
Udfør en handling på den aktuelle side ved hjælp af Playwright CSS eller XPath lokator med en værdi.
Eksempel på PlaywrightActionValue-eksempler
Preview.PlaywrightAction("//input[@data-id='1']", "fill", "Hello");
Preview.PlaywrightScript
Preview.PlaywrightScript(Text)
Udfør C#-scriptet på den aktuelle side
Bemærk
Denne funktion implementeres kun for fejlfindingsbuildet fra open source version af testprogrammet, der ikke er i pac-testkørsel.
Eksempel på Preview.PlaywrightScript
Preview.PlaywrightScript("sample.csx")
Med indholdet af sample.csx lignende til denne kode:
// 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 der foretages et kald fra Power Apps til en forbindelsestype, der blev fundet fra Liste over alle Power Apps connectors
Eksempel på Preview.SimulateConnector
Preview.SimulateConnector({
name: "msnweather",
then: {responses: {
daily: {
day: {
summary: "You are seeing the mock response" }
}
}
}
})
Forhåndsvisning.SimulateDataverse
Preview.SimulateDataverse({Action: Text, Entity: Text, Then: Table})
Preview.SimulateDataverse Eksempel
I dette eksempel, når der foretages et kald for at forespørge objektet Dataverse med et logisk navn sample_combotable , returneres posterne ved hjælp af funktionen Tabel
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"
}
)
});
Relaterede artikler
Dataverse og Connectorsimulering med testprogram (prøveversion)