Nata
Norint pasiekti šį puslapį, reikalingas leidimas. Galite pabandyti prisijungti arba pakeisti katalogus.
Norint pasiekti šį puslapį, reikalingas leidimas. Galite pabandyti pakeisti katalogus.
Pastaba.
Peržiūros funkcijos nėra skirtos naudoti gamybai ir gali būti apribotas jų funkcionalumas. Šias funkcijas galima naudoti prieš oficialų išleidimą, kad klientai galėtų gauti ankstyvą prieigą ir pateikti atsiliepimų.
Apžvalga
Power Apps "Test Engine" naudoja "Dramawright" kaip pagrindinę naršyklės automatizavimo technologiją. Ši integracija suteikia "Test Engine" galingas, patikimas ir kelių naršyklių testavimo galimybes, tuo pačiu pridedant kelis abstrakcijos sluoksnius, kad būtų supaprastintas programų bandymų kūrimas Power Platform .
Kaip bandomasis variklis pagerina dramaturgą
Nors "Playwright" siūlo puikias naršyklės automatizavimo galimybes, "Test Engine" išplečia šias galimybes specialiai skirtoms Power Platform:
| Variklio patobulinimo bandymas | Aprašą |
|---|---|
| Programos lygio abstrakcijos | "Test Engine" veikia su programos lygio objektais, o ne su DOM elementais, todėl testai yra atsparesni vartotojo sąsajos pakeitimams |
| Power Fx Integracija | "Test Engine" prideda Power Fx palaikymą, įgalinantį žemo kodo metodą bandymų kūrimui |
| Integruotas autentifikavimas | Iš anksto sukurti autentifikavimo mechanizmai tvarko Microsoft Entra ir sąlyginės prieigos scenarijus |
| Dataverse Integracija | Tiesioginė integracija su Dataverse leidžia atlikti visapusiškus bandymus nuo galo iki galo |
| Specializuoti paslaugų teikėjai | Optimizuoti "Canvas" programų ir modeliu pagrįstų programų teikėjai |
Techninis įgyvendinimas
Tolesniuose skyriuose aprašoma, kaip "Test Engine" remiasi "Dramawright" naršyklės automatizavimo pagrindu ir integruoja jį su Power Platform konkrečiomis abstrakcijomis, įgalindamas patikimą ir prižiūrimą bandymų automatizavimą.
Naršyklės automatizavimo pagrindas
"Test Engine" naudoja pagrindines "Playwright" galimybes nuosekliam naršyklės automatizavimui:
- "Chrome" kelių naršyklių palaikymas Firefoxir Microsoft Edge
- Patikimi laukimo mechanizmai , kurie automatiškai laukia, kol elementai bus paruošti
- Tinklo užklausų perėmimas API atsakymams imituoti
- Atsekimo ir derinimo įrankiai , skirti diagnozuoti bandymų nesėkmes
"Test Engine" architektūrinė integracija
- Teikėjo lygmuo: teikėjo lygmuo bandomajame variklyje tiesiogiai susieja su dramaturgų API, kad galėtų valdyti naršyklės elgesį
- Objekto modelis: užuot dirbę su neapdorotais DOM elementais, "Test Engine" susieja su konkrečios programos objektų modeliais
- Power Fx Sluoksnis: įrašyti bandymo veiksmai Power Fx interpretuojami ir vykdomi per teikėjo sluoksnį
Pagrindinės techninės savybės
Tolesniuose skyriuose pabrėžiamos svarbios techninės funkcijos, kurias "Test Engine" prideda prie "Playwright", įskaitant konkrečios programos parinkiklius, naršyklės konteksto valdymą ir tiesioginę prieigą prie "Playwright" funkcijų išplėstiniams scenarijams.
Konkrečios programos parinkikliai
Bandomasis variklis naudoja konkrečios programos selektorius vietoj CSS selektorių arba XPath selektorius:
# 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();
Naršyklės konteksto valdymas
Test Engine valdo naršyklės kontekstus, kad palaikytų įvairius autentifikavimo scenarijus:
# Test Engine handles browser context automatically
pac test run `
--provider canvas `
--test-plan-file testplan.te.yaml `
--tenant $tenantId `
--environment-id $environmentId
Tiesioginės dramaturgo funkcijos
Nors "Test Engine" abstrahuoja daugybę dramaturgų sąveikų, yra scenarijų, kai tiesioginė prieiga prie dramaturgo galimybių gali būti vertinga. "Test Engine" suteikia keletą peržiūros funkcijų, kurios įgalina tiesioginę sąveiką su dramaturgu atliekant Power Fx bandymo veiksmus.
Dramaturgo funkcijų naudojimas bandomajame variklyje
Bandomasis variklis apima šias peržiūros funkcijas, kurios leidžia pritaikyti dramaturgo elementų pasirinkimo galimybes:
| Funkcija | Aprašą | Pavyzdžiui |
|---|---|---|
| Peržiūra.DramaturgasVeiksmas | Veiksmo su elementais vykdymas naudojant CSS DOM išrinkiklius arba DOM parinkiklius | Preview.PlaywrightAction("//button", "click") Peržiūrėkite įprastas dramaturgo veiksmo operacijas |
| Preview.DramawrightActionValue | Veiksmo, kuriam reikia reikšmės parametro, vykdymas | Preview.PlaywrightActionValue("//input[@data-id='1']", "fill", "Hello") Peržiūrėkite bendras dramaturgo veiksmo vertės operacijas |
| Peržiūra.DramaturgasScript | Vykdykite pasirinktinį C# scenarijų, kuris siejasi su dramaturgu | Preview.PlaywrightScript("sample.csx") Žiūrėti Išplėstiniai: pasirinktiniai dramaturgų scenarijai |
| Preview.Pauzė | Pristabdykite testo vykdymą ir parodykite dramaturgų inspektorių | Preview.Pause() |
Pastaba.
Norėdami naudoti šias peržiūros funkcijas, turite įtraukti peržiūros funkcijas į leidžiamų sąrašą testavimo nustatymų skiltyje.
Bendros dramaturgo veiksmo operacijos
Su Preview.PlaywrightAction galima atlikti šias operacijas:
| Veiksmas | Aprašą | Pavyzdžiui |
|---|---|---|
click |
Elemento pasirinkimas naudojant paspaudimo įvykį | Preview.PlaywrightAction("//button[@id='submit']", "click") |
exists |
Patikrinkite, ar yra elementas | Preview.PlaywrightAction("//div[@class='error-message']", "exists") |
wait |
Palaukite, kol elementas bus pasiekiamas | Preview.PlaywrightAction("//table[@data-loading='false']", "wait") |
Bendros dramaturgo veiksmo vertės operacijos
Su Preview.PlaywrightActionValue galima atlikti šias operacijas:
| Veiksmas | Aprašą | Pavyzdžiui |
|---|---|---|
fill |
Formos lauko užpildymas tekstu | Preview.PlaywrightActionValue("//input[@name='search']", "fill", "Product name") |
select |
Pasirinkite parinktį iš pasirinkimo sąrašo | Preview.PlaywrightActionValue("//select", "select", "Option2") |
setAttribute |
Elemento atributo nustatymas | Preview.PlaywrightActionValue("//div", "setAttribute", "data-custom='value'") |
Kada naudoti tiesiogines dramaturgo funkcijas
Nors pirmenybė teikiama programos lygio abstrakcijoms, tiesioginės dramaturgo funkcijos yra naudingos šiais atvejais:
- Sudėtingos vartotojo sąsajos sąveikos , kurių neapima standartinės bandomojo variklio funkcijos
- Trečiųjų šalių komponentai Power Platform programose, kurioms reikia specialaus tvarkymo
- Sudėtingų bandymų scenarijų derinimas ten, kur reikia daugiau kontrolės
- Išplėstinis elementų būsenų arba ypatybių tikrinimas
Pavyzdys: kombinuotas metodas
Šiame pavyzdyje parodytas programos lygio abstrakcijų derinimas su tiesioginiais dramaturgo veiksmais:
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");
Išplėstiniai: pasirinktiniai dramaturgų scenarijai
Labai specializuotiems scenarijams galite sukurti pasirinktinius dramaturgo scenarijus:
- Sukurkite failą naudodami pasirinktinę dramaturgo
.csxlogiką - Reikalinga nuoroda Dramaturgų susirinkimai
- Įgyvendinkite reikiamą klasės struktūrą
- Iškvieskite scenarijų iš bandomųjų veiksmų
// 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
}
}
Pastaba.
Preview.PlaywrightScript įdiegtas tik bandomojo variklio derinimo komponavimo versijoms, sukurtoms iš šaltinio, o ne išleistame pac test run įrankyje.
Integracija su kūrimo procesu
Tolesniuose skyriuose aprašoma, kaip "Test Engine" ir "Playwright" gali būti naudojami tiek vietinio kūrimo, tiek CI / CD aplinkose, palaikant įvairias darbo eigas nuo interaktyvaus derinimo iki automatinio vamzdyno vykdymo.
Vietos plėtra
Vietinei plėtrai bandomasis variklis suteikia visą aplinką:
- Vietinės naršyklės vykdymas su vartotojo sąsajos matomumu
- Žingsnis po žingsnio testo vykdymas
- Išsamūs žurnalai ir diagnostika
CI / CD integracija
CI / CD aplinkoje bandomasis variklis gali paleisti dramaturgą režimu be galvos:
# 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)"
Geriausia praktika
Dirbant su "Test Engine" dramaturgo integracija:
- Sutelkite dėmesį į programos lygio objektus , o ne į DOM elementus
- Naudokite Power Fx sudėtingos logikos funkcijas , o ne neapdorotą "JavaScript"
- Pasinaudokite integruotais autentifikavimo mechanizmais
- Tiesioginio dramaturgo funkcijų rezervavimas scenarijams, kai programos lygio abstrakcijos yra nepakankamos
- Peržiūrėkite sugeneruotus testus , kad optimizuotumėte skaitomumą ir priežiūrą