Belešku
Pristup ovoj stranici zahteva autorizaciju. Možete pokušati da se prijavite ili da promenite direktorijume.
Pristup ovoj stranici zahteva autorizaciju. Možete pokušati da promenite direktorijume.
Belešku
Funkcije pregleda nisu namenjene za korišćenje u proizvodnji i mogu da imaju ograničene funkcionalnosti. Ove funkcije su dostupne pre zvaničnog objavljivanja kako bi klijenti mogli ranije da im pristupe i pruže povratne informacije.
+Pregled
Power Apps Test Engine koristi Playwright kao svoju osnovnu tehnologiju automatizacije pretraživača. Ova integracija pruža Test Engine-u moćne, pouzdane i mogućnosti testiranja unakrsnog pretraživača, dodajući nekoliko slojeva apstrakcije kako bi se pojednostavilo kreiranje testova za Power Platform aplikacije.
Kako Test Engine poboljšava dramskog pisca
Dok Playwright nudi odlične mogućnosti automatizacije pretraživača, Test Engine proširuje ove mogućnosti posebno za Power Platform:
| Test Engine Enhancement | Opis |
|---|---|
| Apstrakcije na nivou aplikacije | Test Engine radi sa objektima na nivou aplikacije, a ne sa DOM elementima, čineći testove otpornijim na promene korisničkog interfejsa |
| Power Fx Integraciju | Test Engine dodaje Power Fx podršku, omogućavajući pristup sa niskim kodom za autorstvo testa |
| Ugrađena autentifikacija | Unapred izgrađeni mehanizmi za autentifikaciju i Microsoft Entra scenariji uslovnog pristupa |
| Dataverse Integraciju | Direktna integracija sa Dataverse omogućava sveobuhvatno testiranje od kraja do kraja |
| Specijalizovani provajderi | Optimizovani provajderi za Canvas aplikacije i aplikacije zasnovane na modelu |
Tehnička implementacija
Sledeći odeljci opisuju kako Test Engine gradi na Plaiwrightovoj osnovi za automatizaciju pretraživača i integriše ga sa Power Platform specifičnim apstrakcijama, omogućavajući robusnu i održivu automatizaciju testiranja.
Osnova za automatizaciju pretraživača
Test Engine koristi osnovne mogućnosti Dramatičara za konzistentnu automatizaciju pretraživača:
- Podrška za Chrome, Firefox, i Microsoft Edge
- Pouzdani mehanizmi čekanja koji automatski čekaju da elementi budu spremni
- Presretanje mrežnih zahteva za simulaciju API odgovora
- Alati za praćenje i otklanjanje grešaka za dijagnozu neuspeha testova
Arhitektonska integracija Test Engine-a
- Sloj provajdera: Sloj provajdera u Test Engine-u interfejsa direktno sa API-jima za dramaturgiju za kontrolu ponašanja pretraživača
- Object Model: Umesto da radi sa sirovim DOM elementima, Test Engine mapira na objektne modele specifične za aplikaciju
- Power Fx sloj: Test koraci napisani u Power Fx se tumače i izvršavaju kroz sloj provajdera
Ključne tehničke karakteristike
Sledeći odeljci ističu važne tehničke karakteristike koje Test Engine dodaje na vrh Playwright-a, uključujući selektore specifične za aplikaciju, upravljanje kontekstom pretraživača i direktan pristup funkcijama Playwright za napredne scenarije.
Selektori specifični za aplikaciju
Test Engine koristi selektore specifične za aplikaciju umesto ili selektora CSS 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();
Upravljanje kontekstom pretraživača
Test Engine upravlja kontekstima pretraživača kako bi podržao različite scenarije autentifikacije:
# Test Engine handles browser context automatically
pac test run `
--provider canvas `
--test-plan-file testplan.te.yaml `
--tenant $tenantId `
--environment-id $environmentId
Direktne funkcije dramskog pisca
Dok Test Engine apstrahuje mnoge interakcije dramskih pisaca, postoje scenariji u kojima direktan pristup mogućnostima dramskog pisca može biti dragocen. Test Engine pruža nekoliko funkcija pregleda koje omogućavaju direktnu interakciju sa dramskim piscem iz vaših Power Fx testnih koraka.
Korišćenje funkcija dramskog pisca u Test Engine-u
Test Engine uključuje sledeće funkcije pregleda koje vam omogućavaju da primenite mogućnosti izbora elemenata dramaturga:
| Function | Opis | Primer |
|---|---|---|
| Preview.PlaywrightAction | Izvršite akciju na elementima koristeći CSS ili DOM selektore | Preview.PlaywrightAction("//button", "click") Pogledajte zajedničke akcione operacije dramskog pisca |
| Preview.PlaywrightActionValue | Izvršite akciju koja zahteva parametar vrednosti | Preview.PlaywrightActionValue("//input[@data-id='1']", "fill", "Hello") Pogledajte Common Playwright Action Value Operations |
| Preview.PlaywrightScript | Izvršite prilagođenu C # skriptu koja se povezuje sa dramskim piscem | Preview.PlaywrightScript("sample.csx") Pogledajte Napredno: Prilagođene dramske skripte |
| Pregled.Pauza | Pauzirajte izvršenje testa i prikažite inspektora dramskog pisca | Preview.Pause() |
Belešku
Da biste koristili ove funkcije pregleda, morate dodati funkcije pregleda na listu dozvoljenih u odeljku podešavanja testa.
Zajedničke akcione operacije dramskog pisca
Sledeće operacije se mogu izvršiti sa Previev.PlaywrightAction:
| Radnja | Opis | Primer |
|---|---|---|
click |
Izbor elementa pomoću događaja klika | Preview.PlaywrightAction("//button[@id='submit']", "click") |
exists |
Proverite da li element postoji | Preview.PlaywrightAction("//div[@class='error-message']", "exists") |
wait |
Sačekajte da element bude dostupan | Preview.PlaywrightAction("//table[@data-loading='false']", "wait") |
Zajedničke operacije vrednosti akcije dramskog pisca
Sledeće operacije se mogu izvršiti sa Previev.PlaywrightActionValue:
| Radnja | Opis | Primer |
|---|---|---|
fill |
Popunite polje obrasca sa tekstom | Preview.PlaywrightActionValue("//input[@name='search']", "fill", "Product name") |
select |
Izaberite opciju sa liste za izbor | Preview.PlaywrightActionValue("//select", "select", "Option2") |
setAttribute |
Podesite atribut na element | Preview.PlaywrightActionValue("//div", "setAttribute", "data-custom='value'") |
Kada koristiti direktne funkcije dramskog pisca
Dok su apstrakcije na nivou aplikacije poželjne, direktne funkcije dramskog pisca su korisne u ovim scenarijima:
- Kompleksne interakcije korisničkog interfejsa koje nisu pokrivene standardnim funkcijama Test Engine
- Komponente nezavisnih proizvođača u Power Platform aplikacijama kojima je potrebno posebno rukovanje
- Otklanjanje grešaka složenih testnih scenarija u kojima je potrebna veća kontrola
- Napredna validacija stanja ili svojstava elemenata
Primer : Kombinovani pristup
Ovaj primer pokazuje kombinovanje apstrakcija na nivou aplikacije sa direktnim akcijama dramskog pisca:
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");
Napredno: Prilagođene dramske skripte
Za visoko specijalizovane scenarije, možete kreirati prilagođene dramske skripte:
- Kreirajte fajl sa svojom prilagođenom logikom
.csxdramskog pisca - Potrebna referenca Sklopovi dramskih pisaca
- Implementirati potrebnu strukturu klase
- Pozovite skriptu iz vaših testnih koraka
// 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
}
}
Belešku
Previev.PlaywrightScript se implementira samo za otklanjanje grešaka verzije Test Engine-a izgrađenog iz izvora, a ne u objavljenom pac test run alatu.
Integracija sa razvojnim procesom
Sledeći odeljci opisuju kako se Test Engine i Playvright mogu koristiti u lokalnom razvoju i CI / CD okruženjima, podržavajući niz tokova posla od interaktivnog otklanjanja grešaka do automatizovanog izvršavanja cevovoda.
Lokalni razvoj
Za lokalni razvoj, Test Engine obezbeđuje kompletno okruženje:
- Lokalno izvršenje pretraživača sa vidljivošću korisničkog interfejsa
- Korak po korak izvršenje testa
- Detaljni evidencije i dijagnostika
CI / CD integracija
U CI / CD okruženjima, Test Engine može da pokrene Playwright u režimu bez glave:
# 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)"
Najbolji primeri iz prakse
Kada radite sa integracijom dramskog pisca Test Engine-a:
- Fokusirajte se na objekte na nivou aplikacije, a ne na DOM elemente
- Koristite Power Fx funkcije za složenu logiku, a ne sirovi JavaScript
- Iskoristite ugrađene mehanizme za autentifikaciju
- Rezervišite direktne funkcije dramskog pisca za scenarije u kojima su apstrakcije na nivou aplikacije nedovoljne
- Pregledajte generisane testove za optimizaciju za čitljivost i održavanje