Piezīmes
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt pierakstīties vai mainīt direktorijus.
Lai piekļūtu šai lapai, ir nepieciešama autorizācija. Varat mēģināt mainīt direktorijus.
Piezīmes
Priekšskatījuma līdzekļi nav paredzēti komerciālai lietošanai, un to funkcionalitāte var būt ierobežota. Šie līdzekļi ir pieejami pirms oficiālā laidiena, lai klienti varētu priekšlaikus piekļūt līdzeklim un sniegt atsauksmes.
Pārskats
Power Apps Test Engine izmanto Playwright kā galveno pārlūkprogrammas automatizācijas tehnoloģiju. Šī integrācija nodrošina Test Engine jaudīgas, uzticamas un vairāku pārlūkprogrammu testēšanas iespējas, vienlaikus pievienojot vairākus abstrakcijas slāņus, lai vienkāršotu lietojumprogrammu Power Platform testa izveidi.
Kā testa dzinējs uzlabo dramaturgu
Lai gan Playwright piedāvā lieliskas pārlūkprogrammas automatizācijas iespējas, Test Engine paplašina šīs iespējas īpaši Power Platform:
| Testa dzinēja uzlabošana | Apraksts |
|---|---|
| Lietojumprogrammas līmeņa abstrakcijas | Testa programma darbojas ar lietotnes līmeņa objektiem, nevis DOM elementiem, padarot testus noturīgākus pret lietotāja interfeisa izmaiņām |
| Power Fx Integrācija | Testēšanas programma pievieno Power Fx atbalstu, iespējojot zema koda pieeju testa autorēšanai |
| Iebūvēta autentifikācija | Iepriekš iebūvēti autentifikācijas mehānismu apstrādes Microsoft Entra un nosacījumpiekļuves scenāriji |
| Dataverse Integrācija | Tieša integrācija ar Dataverse ļauj veikt visaptverošu testēšanu |
| Specializētie pakalpojumu sniedzēji | Optimizēti pakalpojumu sniedzēji Canvas programmām un modeļa vadītām programmām |
Tehniskā ieviešana
Nākamajās sadaļās aprakstīts, kā Test Engine balstās uz Playwright pārlūkprogrammas automatizācijas pamatu un integrē to ar Power Platform specifiskām abstrakcijām, nodrošinot stabilu un uzturamu testa automatizāciju.
Pārlūkprogrammas automatizācijas pamats
Test Engine izmanto Playwright galvenās iespējas konsekventai pārlūkprogrammas automatizācijai:
- Vairāku pārlūkprogrammu atbalsts pārlūkprogrammai Chrome Firefox un Microsoft Edge
- Uzticami gaidīšanas mehānismi , kas automātiski gaida, līdz elementi ir gatavi
- Tīkla pieprasījumu pārtveršana API atbilžu simulēšanai
- Izsekošanas un atkļūdošanas rīki testa kļūmju diagnosticēšanai
Test Engine arhitektūras integrācija
- Pakalpojumu sniedzēja slānis: testa programmas nodrošinātāja slānis saskaras tieši ar Playwright API, lai kontrolētu pārlūkprogrammas darbību
- Objekta modelis: tā vietā, lai strādātu ar neapstrādātiem DOM elementiem, Testa programma kartē lietojumprogrammai specifiskus objektu modeļus
- Power Fx Slānis: testa soļi, kas ierakstīti Power Fx , tiek interpretēti un izpildīti, izmantojot pakalpojumu sniedzēja slāni.
Galvenās tehniskās iezīmes
Nākamajās sadaļās ir uzsvērtas svarīgas tehniskās funkcijas, ko Test Engine pievieno papildus Playwright, tostarp lietotnēm specifiski atlasītāji, pārlūkprogrammas konteksta pārvaldība un tieša piekļuve Playwright funkcijām uzlabotiem scenārijiem.
Lietojumprogrammu selektori
Testēšanas programma izmanto lietojumprogrammai specifiskus selektorus, nevis CSS selektorus XPath :
# 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();
Pārlūkprogrammas konteksta pārvaldība
Testa programma pārvalda pārlūkprogrammas kontekstus, lai atbalstītu dažādus autentifikācijas scenārijus:
# Test Engine handles browser context automatically
pac test run `
--provider canvas `
--test-plan-file testplan.te.yaml `
--tenant $tenantId `
--environment-id $environmentId
Tiešās dramaturgu funkcijas
Lai gan Test Engine abstrahē daudzas dramaturgu mijiedarbības, ir scenāriji, kuros tieša piekļuve dramaturga iespējām var būt vērtīga. Test Engine nodrošina vairākas priekšskatījuma funkcijas, kas nodrošina tiešu mijiedarbību ar Playwright no jūsu Power Fx testa soļiem.
Dramaturgu funkciju izmantošana testa programmā
Test Engine ietver šādas priekšskatījuma funkcijas, kas ļauj lietot Playwright elementu atlases iespējas:
| Function | Apraksts | Piemērs |
|---|---|---|
| Priekšskatījums.Dramaturgsdarbība | Darbības izpilde ar elementiem, izmantojot CSS vai DOM atlasītājus | Preview.PlaywrightAction("//button", "click") Skatīt Kopējās dramaturgu darbības operācijas |
| Preview.PlaywrightActionValue | Izpildīt darbību, kurai nepieciešams vērtības parametrs | Preview.PlaywrightActionValue("//input[@data-id='1']", "fill", "Hello") Skatīt Kopējās dramaturgu darbības vērtības operācijas |
| Priekšskatījums.DramaturgsScenārijs | Izpildīt pielāgotu C# skriptu, kas saskaras ar Playwright | Preview.PlaywrightScript("sample.csx") Skatīt Advanced: Pielāgoti dramaturgu scenāriji |
| Priekšskatījums.Pauze | Apturēt testa izpildi un parādīt dramaturgu inspektoru | Preview.Pause() |
Piezīmes
Lai izmantotu šīs priekšskatījuma funkcijas, priekšskatījuma funkcijas ir jāpievieno atļautajam sarakstam testa iestatījumu sadaļā.
Kopīgas dramaturgu darbības operācijas
Izmantojot Preview.PlaywrightAction, var veikt šādas darbības:
| Darbība | Apraksts | Piemērs |
|---|---|---|
click |
Elementa atlase, izmantojot klikšķa notikumu | Preview.PlaywrightAction("//button[@id='submit']", "click") |
exists |
Pārbaudiet, vai elements pastāv | Preview.PlaywrightAction("//div[@class='error-message']", "exists") |
wait |
Pagaidiet, līdz elements ir pieejams | Preview.PlaywrightAction("//table[@data-loading='false']", "wait") |
Kopīgas dramaturgu darbības vērtības operācijas
Izmantojot Preview.PlaywrightActionValue, var veikt šādas darbības:
| Darbība | Apraksts | Piemērs |
|---|---|---|
fill |
Veidlapas lauka aizpildīšana ar tekstu | Preview.PlaywrightActionValue("//input[@name='search']", "fill", "Product name") |
select |
Opcijas atlase atlases sarakstā | Preview.PlaywrightActionValue("//select", "select", "Option2") |
setAttribute |
Atribūta iestatīšana elementam | Preview.PlaywrightActionValue("//div", "setAttribute", "data-custom='value'") |
Kad izmantot tiešās dramaturgu funkcijas
Lai gan priekšroka tiek dota lietotnes līmeņa abstrakcijām, tiešās dramaturgu funkcijas ir noderīgas šādos scenārijos:
- Sarežģīta lietotāja interfeisa mijiedarbība, uz kuru neattiecas standarta testa programmas funkcijas
- Trešo pušu komponenti lietojumprogrammās Power Platform , kurām nepieciešama īpaša apstrāde
- Sarežģītu testēšanas scenāriju atkļūdošana, kuros nepieciešama lielāka kontrole
- Elementu stāvokļu vai rekvizītu papildu validācija
Piemērs: kombinētā pieeja
Šajā piemērā parādīta lietotnes līmeņa abstrakciju apvienošana ar tiešām dramaturgu darbībām:
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");
Papildināts: pielāgoti dramaturgu scenāriji
Ļoti specializētiem scenārijiem varat izveidot pielāgotus dramaturgu skriptus:
- Izveidojiet failu
.csxar savu pielāgoto dramaturgu loģiku - Nepieciešama atsauce Dramaturgu montāžas
- Nepieciešamās klases struktūras ieviešana
- Skripta izsaukums no testa darbībām
// 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
}
}
Piezīmes
Preview.PlaywrightScript tiek ieviests tikai testa programmas atkļūdošanas būvējumiem, kas veidoti no avota, nevis izlaistajā pac test run rīkā.
Integrācija ar izstrādes procesu
Nākamajās sadaļās aprakstīts, kā Test Engine un Playwright var izmantot gan vietējā, gan CI/CD vidē, atbalstot dažādas darbplūsmas, sākot no interaktīvas atkļūdošanas līdz automatizētai cauruļvada izpildei.
Vietējā attīstība
Vietējai attīstībai Test Engine nodrošina pilnīgu vidi:
- Vietējās pārlūkprogrammas izpilde ar lietotāja interfeisa redzamību
- Pakāpeniska testa izpilde
- Detalizēti žurnāli un diagnostika
CI/CD integrācija
CI/CD vidēs Test Engine var darbināt Playwright bezgalvas režīmā:
# 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)"
Paraugprakse
Strādājot ar Test Engine Playwright integrāciju:
- Koncentrējieties uz programmas līmeņa objektiem , nevis DOM elementiem
- Funkciju Power Fx izmantošana sarežģītai loģikai, nevis neapstrādātam JavaScript
- Izmantojiet iebūvētos autentifikācijas mehānismus
- Rezervējiet tiešās dramaturgu funkcijas scenārijiem, kuros lietotnes līmeņa abstrakcijas ir nepietiekamas
- Pārskatiet ģenerētos testus , lai optimizētu lasāmību un uzturēšanu