Märkus.
Juurdepääs sellele lehele nõuab autoriseerimist. Võite proovida sisse logida või kausta vahetada.
Juurdepääs sellele lehele nõuab autoriseerimist. Võite proovida kausta vahetada.
Märkus.
Eelvaatefunktsioonid ei ole mõeldud kasutamiseks tootmises ja nende funktsioonid võivad olla piiratud. Need funktsioonid on saadaval enne ametlikku väljastamist, et kliendid saaksid sellele varakult juurdepääsu ja võiksid tagasisidet anda.
Ülevaade
Power Apps Test Engine kasutab Playwrighti oma brauseri automatiseerimise põhitehnoloogiana. See integratsioon annab Test Engine’ile võimsad, usaldusväärsed ja brauseriülesed testimisvõimalused, lisades samal ajal mitu abstraktsioonikihti, et lihtsustada rakenduste testide loomist Power Platform .
Kuidas Test Engine täiustab näitekirjanikku
Kuigi Playwright pakub suurepäraseid brauseri automatiseerimise võimalusi, laiendab Test Engine neid võimalusi konkreetselt Power Platform:
| Testimootori täiustamine | Kirjeldus |
|---|---|
| Rakenduse tasemel abstraktsioonid | Test Engine töötab pigem rakendusetaseme objektidega kui DOM-elementidega, muutes testid kasutajaliidese muudatuste suhtes vastupidavamaks |
| Power Fx Integratsioon | Test Engine lisab Power Fx toe, võimaldades testide koostamisel vähese koodiga lähenemist |
| Sisseehitatud autentimine | Eelehitatud autentimismehhanismide käsitsemise Microsoft Entra ja tingimusjuurdepääsu stsenaariumid |
| Dataverse Integratsioon | Otsene integreerimine Dataverse võimaldab põhjalikku täielikku testimist |
| Spetsialiseeritud pakkujad | Lõuendirakenduste ja mudelipõhiste rakenduste jaoks optimeeritud pakkujad |
Tehniline rakendamine
Järgmistes jaotistes kirjeldatakse, kuidas Test Engine tugineb Playwrighti brauseri automatiseerimise alusele ja integreerib selle Power Platform konkreetsete abstraktsioonidega, võimaldades tugevat ja hooldatavat testide automatiseerimist.
Brauseri automatiseerimise alus
Test Engine kasutab Playwrighti põhivõimalusi brauseri järjepidevaks automatiseerimiseks:
- Chrome’i brauseriülene tugi Firefoxja Microsoft Edge
- Usaldusväärsed ootemehhanismid , mis ootavad automaatselt elementide valmimist
- Võrgupäringute pealtkuulamine API vastuste simuleerimiseks
- Jälgimis- ja silumistööriistad testi tõrgete diagnoosimiseks
Test Engine’i arhitektuurne integratsioon
- Pakkuja kiht: Test Engine’i pakkuja kiht liidestub brauseri käitumise juhtimiseks otse Playwrighti API-dega
- Objektimudel: selle asemel, et töötada töötlemata DOM-elementidega, vastendab Test Engine rakendusepõhiste objektimudelitega
- Power Fx Kiht: Sisse Power Fx kirjutatud testietappe tõlgendatakse ja täidetakse pakkuja kihi kaudu
Peamised tehnilised omadused
Järgmistes jaotistes tuuakse esile olulised tehnilised funktsioonid, mida Test Engine lisab Playwrightile, sealhulgas rakendusepõhised valijad, brauseri kontekstihaldus ja otsene juurdepääs Playwrighti funktsioonidele täpsemate stsenaariumide jaoks.
Rakendusepõhised valijad
Test Engine kasutab valijate asemel CSS XPath rakendusepõhiseid valijaid:
# Test Engine (using app-level selectors)
- testSteps: |
Select(Button1)
# Equivalent in raw Playwright (using DOM selectors)
Select(Button1)
# page.locator('div[data-control-name="Button1"]').click();
Brauseri konteksti haldamine
Test Engine haldab brauseri kontekste, et toetada erinevaid autentimisstsenaariume.
# Test Engine handles browser context automatically
pac test run `
--provider canvas `
--test-plan-file testplan.te.yaml `
--tenant $tenantId `
--environment-id $environmentId
Otsesed näitekirjaniku funktsioonid
Kuigi Test Engine abstraheerib paljusid näitekirjanike interaktsioone, on stsenaariume, kus otsene juurdepääs Playwrighti võimalustele võib olla väärtuslik. Test Engine pakub mitmeid eelvaatefunktsioone, mis võimaldavad Playwrightiga otse suhelda teie Power Fx testietappide kaudu.
Playwrighti funktsioonide kasutamine Test Engine’is
Test Engine sisaldab järgmisi eelvaatefunktsioone, mis võimaldavad teil rakendada Playwrighti elementide valimise võimalusi:
| Function | Kirjeldus | Näide |
|---|---|---|
| Eelvaade.PlaywrightAction | Toimingu käivitamine elementidega, kasutades CSS või DOM-selektoreid | Preview.PlaywrightAction("//button", "click") Vaadake tavalisi näitekirjaniku tegevusoperatsioone |
| Eelvaade.PlaywrightActionValue | Väärtuse parameetrit nõudva toimingu käivitamine | Preview.PlaywrightActionValue("//input[@data-id='1']", "fill", "Hello") Vaata Üldised näitekirjaniku tegevus- ja väärtusoperatsioonid |
| Eelvaade.NäitekirjanikuSkript | Käivita kohandatud C# skript, mis ühildub Playwrightiga | Preview.PlaywrightScript("sample.csx") Vaata Täpsemalt: Kohandatud näitekirjaniku skriptid |
| Eelvaade.Paus | Peata testi käivitamine ja kuva Dramaturgi Inspektor | Preview.Pause() |
Märkus.
Nende eelvaatefunktsioonide kasutamiseks peate need lisama oma testiseadete jaotises lubatud funktsioonide loendisse.
Tavalised näitekirjaniku toimingud
Järgmisi toiminguid saab teha funktsiooniga Preview.PlaywrightAction:
| Tegevus | Kirjeldus | Näide |
|---|---|---|
click |
Elemendi valimine klõpsamise sündmuse abil | Preview.PlaywrightAction("//button[@id='submit']", "click") |
exists |
Kontrolli, kas element on olemas | Preview.PlaywrightAction("//div[@class='error-message']", "exists") |
wait |
Oota, kuni element on saadaval | Preview.PlaywrightAction("//table[@data-loading='false']", "wait") |
Tavalised näitekirjaniku tegevusväärtusega toimingud
Järgmisi toiminguid saab teha Preview.PlaywrightActionValue abil: ...
| Tegevus | Kirjeldus | Näide |
|---|---|---|
fill |
Vormivälja tekstiga täitmine | Preview.PlaywrightActionValue("//input[@name='search']", "fill", "Product name") |
select |
Valige valikuloendist suvand | Preview.PlaywrightActionValue("//select", "select", "Option2") |
setAttribute |
Elemendile atribuudi määramine | Preview.PlaywrightActionValue("//div", "setAttribute", "data-custom='value'") |
Millal kasutada otseseid näitekirjaniku funktsioone
Kuigi eelistatakse rakenduse tasemel abstraktsioone, on otsesed Playwrighti funktsioonid kasulikud järgmistel juhtudel:
- Keerulised kasutajaliidese interaktsioonid, mida standardsed testimismootori funktsioonid ei kata
- Rakenduste kolmandate osapoolte komponendid Power Platform , mis vajavad erikäsitlust
- Keeruliste testistsenaariumide silumine, kus on vaja suuremat kontrolli
- Elementide olekute või omaduste täpsem valideerimine
Näide: Kombineeritud lähenemine
See näide demonstreerib rakenduse tasemel abstraktsioonide kombineerimist otseste Playwrighti toimingutega:
testSteps: |
# Use app-level abstraction for Power Apps control
Select(SubmitButton);
# Use direct Playwright action for a third-party component
Preview.PlaywrightAction("//div[@class='custom-calendar']//button[@data-day='15']", "click");
# Wait for a specific condition using Playwright
Preview.PlaywrightAction("//div[@data-status='complete']", "wait");
# Resume using app-level abstractions
Assert(Label1.Text = "Submission Complete");
Täpsem: Kohandatud näitekirjaniku stsenaariumid
Väga spetsiifiliste stsenaariumide jaoks saate luua kohandatud näitekirjaniku skripte:
- Loo fail oma kohandatud näitekirjaniku loogikaga
.csx - Vajalik viide Näitekirjaniku komplektid
- Rakenda vajalik klassistruktuur
- Kutsu skripti oma testimisetappidest
// sample.csx
#r "Microsoft.Playwright.dll"
#r "Microsoft.Extensions.Logging.dll"
using Microsoft.Playwright;
using Microsoft.Extensions.Logging;
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();
// Custom Playwright logic here
}
}
Märkus.
Preview.PlaywrightScript on rakendatud ainult lähtekoodist ehitatud testmootori silumisjärkude jaoks, mitte avaldatud pac test run tööriistas.
Integratsioon arendusprotsessiga
Järgmistes osades kirjeldatakse, kuidas Test Engine’it ja Playwrighti saab kasutada nii kohalikus arenduses kui ka CI/CD keskkondades, toetades mitmesuguseid töövooge interaktiivsest silumisest kuni automatiseeritud torujuhtme käivitamiseni.
Kohalik areng
Kohaliku arenduse jaoks pakub Test Engine terviklikku keskkonda:
- Kohaliku brauseri käivitamine koos kasutajaliidese nähtavusega
- Samm-sammult testi sooritamine
- Üksikasjalikud logid ja diagnostika
CI/CD integratsioon
CI/CD keskkondades saab testimismootor käivitada Playwrighti peata režiimis:
# Example Azure DevOps pipeline step
- task: PowerShell@2
displayName: 'Run Test Engine Tests'
inputs:
script: |
pac test run `
--provider canvas `
--test-plan-file "$(Build.SourcesDirectory)/tests/testplan.te.yaml" `
--tenant "$(TenantId)" `
--environment-id "$(EnvironmentId)"
Head tavad
Test Engine’i Playwrighti integratsiooniga töötades:
- Keskendu rakenduse tasemel objektidele DOM-elementide asemel
- Keeruka loogika jaoks kasuta **funktsioone** toore JavaScripti asemel. Power Fx
- Kasutage ära sisseehitatud autentimismehhanisme
- Reserveeri otsesed Playwrighti funktsioonid olukordadeks, kus rakenduse tasemel abstraktsioonid ei ole piisavad
- Vaadake loodud testid üle, et optimeerida loetavust ja hooldatavust