Poznámka
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete sa skúsiť prihlásiť alebo zmeniť adresáre.
Na prístup k tejto stránke sa vyžaduje oprávnenie. Môžete skúsiť zmeniť adresáre.
Poznámka
Funkcie ukážky nie sú určené na produkčné účely a môžu mať obmedzenú funkčnosť. Tieto funkcie sú k dispozícii pred oficiálnym vydaním, aby k nim mohli zákazníci získať rýchly prístup a poskytnúť odozvu.
Prehľad
Power Apps Test Engine používa **Playwright** ako svoju základnú technológiu automatizácie prehliadača. ... Táto integrácia poskytuje Test Engine výkonné, spoľahlivé a multiprehliadačové testovacie možnosti a zároveň pridáva niekoľko vrstiev abstrakcie pre zjednodušenie tvorby testov pre aplikácie. Power Platform
Ako Test Engine vylepšuje Playwritera
Zatiaľ čo Playwrit ponúka vynikajúce možnosti automatizácie prehliadača, Test Engine tieto možnosti rozširuje špeciálne pre Power Platform:
| Vylepšenie testovacieho enginu | Description |
|---|---|
| Abstrakcie na úrovni aplikácie | Testovací engine pracuje s objektmi na úrovni aplikácie namiesto prvkov DOM, vďaka čomu sú testy odolnejšie voči zmenám v používateľskom rozhraní. |
| Power Fx Integrácia | Test Engine pridáva podporu, ktorá umožňuje nízkokódový prístup k tvorbe testov Power Fx |
| Vstavané overovanie | Predpripravené mechanizmy autentifikácie spracovávajú scenáre podmieneného prístupu Microsoft Entra |
| Dataverse Integrácia | Priama integrácia s Dataverse umožňuje komplexné testovanie od začiatku do konca |
| Špecializovaní poskytovatelia | Optimalizovaní poskytovatelia pre aplikácie Canvas a aplikácie riadené modelmi... |
Technická implementácia
Nasledujúce časti opisujú, ako Test Engine stavia na základe automatizácie prehliadača od Playwright a integruje ho s abstrakciami špecifickými pre daný prehliadač, čo umožňuje robustnú a udržiavateľnú automatizáciu testovania. Power Platform
Nadácia automatizácie prehliadačov
Testovací engine využíva základné funkcie Playwrightu pre konzistentnú automatizáciu prehliadača:
- Podpora viacerých prehliadačov pre Chrome, Firefoxa Microsoft Edge
- Spoľahlivé mechanizmy čakania, ktoré automaticky čakajú na prípravu prvkov
- Zachytenie sieťových požiadaviek na simuláciu odpovedí API
- Nástroje na sledovanie a ladenie na diagnostiku zlyhaní testov
Architektonická integrácia Test Engine
- Vrstva poskytovateľa: Vrstva poskytovateľa v Test Engine priamo komunikuje s rozhraniami API Playwright a riadi správanie prehliadača.
- Objektový model: Namiesto práce so surovými prvkami DOM sa Test Engine mapuje na objektové modely špecifické pre aplikáciu
- Power Fx Vrstva: Testovacie kroky napísané v Power Fx sú interpretované a vykonávané prostredníctvom vrstvy poskytovateľa
Kľúčové technické vlastnosti
Nasledujúce časti zdôrazňujú dôležité technické funkcie, ktoré Test Engine pridáva nad rámec Playwrightu, vrátane selektorov špecifických pre aplikácie, správy kontextu prehliadača a priameho prístupu k funkciám Playwrightu pre pokročilé scenáre.
Selektory špecifické pre aplikáciu
Testovací engine používa namiesto selektorov CSS alebo XPath selektory špecifické pre aplikáciu:
# 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();
Správa kontextu prehliadača
Testovací engine spravuje kontexty prehliadača na podporu rôznych scenárov autentifikácie:
# Test Engine handles browser context automatically
pac test run `
--provider canvas `
--test-plan-file testplan.te.yaml `
--tenant $tenantId `
--environment-id $environmentId
Funkcie priameho dramatika
Hoci Test Engine abstrahuje mnoho interakcií s Playwriters, existujú scenáre, v ktorých môže byť priamy prístup k funkciám Playwriters užitočný. Test Engine poskytuje niekoľko funkcií ukážky, ktoré umožňujú priamu interakciu s Playwrightom z vašich testovacích krokov. Power Fx
Používanie funkcií Playwriter v Test Engine
Testovací engine obsahuje nasledujúce funkcie ukážky, ktoré vám umožňujú použiť možnosti výberu prvkov v Playwrighte:
| Function | Description | Príklad |
|---|---|---|
| Náhľad.DramatikAkcia | Vykonajte akciu na prvkoch pomocou selektorov CSS alebo DOM | Preview.PlaywrightAction("//button", "click") Pozrite si časť Bežné akcie dramatikov |
| Preview.PlaywrightActionHodnota | Vykonajte akciu, ktorá vyžaduje parameter hodnoty | Preview.PlaywrightActionValue("//input[@data-id='1']", "fill", "Hello") Pozrite si Bežné operácie s hodnotami akcií dramatikov |
| Náhľad.Script dramatika | Spustite vlastný skript C#, ktorý je prepojený s Playwrightom | Preview.PlaywrightScript("sample.csx") Pozrite si časť Rozšírené: Vlastné dramatické scenáre |
| Náhľad.Pozastavenie | Pozastavenie vykonávania testu a zobrazenie inšpektora dramatikov | Preview.Pause() |
Poznámka
Ak chcete používať tieto funkcie ukážky, musíte ich pridať do zoznamu povolených funkcií v sekcii nastavení testu.
Bežné akcie dramatikov
Nasledujúce operácie je možné vykonať pomocou funkcie Preview.PlaywrightAction:
| Činnosť | Description | Príklad |
|---|---|---|
click |
Výber prvku pomocou udalosti click | Preview.PlaywrightAction("//button[@id='submit']", "click") |
exists |
Skontrolujte, či prvok existuje | Preview.PlaywrightAction("//div[@class='error-message']", "exists") |
wait |
Počkajte, kým bude prvok k dispozícii | Preview.PlaywrightAction("//table[@data-loading='false']", "wait") |
Bežné operácie s hodnotami akcií dramatikov
Nasledujúce operácie je možné vykonať pomocou Preview.PlaywrightActionValue:
| Činnosť | Description | Príklad |
|---|---|---|
fill |
Vyplnenie poľa formulára textom | Preview.PlaywrightActionValue("//input[@name='search']", "fill", "Product name") |
select |
Vyberte možnosť zo zoznamu možností | Preview.PlaywrightActionValue("//select", "select", "Option2") |
setAttribute |
Nastavenie atribútu na element | Preview.PlaywrightActionValue("//div", "setAttribute", "data-custom='value'") |
Kedy použiť priame funkcie dramatika
Hoci sú preferované abstrakcie na úrovni aplikácie, priame funkcie Playwright sú užitočné v týchto scenároch:
- Zložité interakcie používateľského rozhrania nepokryté štandardnými funkciami testovacieho nástroja
- Komponenty tretích strán v rámci Power Platform aplikácií, ktoré vyžadujú špeciálne zaobchádzanie
- Ladenie zložitých testovacích scenárov, kde je potrebná väčšia kontrola
- Pokročilé overovanie stavov alebo vlastností prvkov
Príklad: Kombinovaný prístup
Tento príklad demonštruje kombináciu abstrakcií na úrovni aplikácie s priamymi akciami Playwrightu:
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");
Pokročilé: Vlastné dramatické scenáre
Pre vysoko špecializované scenáre si môžete vytvoriť vlastné skripty pre dramatikov:
- Vytvorte súbor s vlastnou logikou pre dramatika
.csx - Požadovaná referencia Zostavy dramatikov
- Implementujte požadovanú štruktúru tried
- Zavolajte skript z krokov testovania
// 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
}
}
Poznámka
Súbor Preview.PlaywrightScript je implementovaný iba pre ladiace zostavy Test Engine zostavené zo zdrojového kódu, nie vo vydanom nástroji pac test run .
Integrácia s vývojovým procesom
Nasledujúce časti opisujú, ako možno Test Engine a Playwright použiť v lokálnom vývojovom prostredí aj v prostredí CI/CD, pričom podporujú celý rad pracovných postupov od interaktívneho ladenia až po automatizované vykonávanie v rámci pipeline.
Miestny rozvoj
Pre lokálny vývoj poskytuje Test Engine kompletné prostredie:
- Lokálne spustenie v prehliadači s viditeľnosťou v používateľskom rozhraní
- Postupné vykonávanie testu
- Podrobné protokoly a diagnostika
Integrácia CI/CD
V prostrediach CI/CD môže Test Engine spúšťať Playwrit v bezhlavom režime:
# 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)"
Osvedčené postupy
Pri práci s integráciou Playwright v Test Engine:
- Zamerajte sa na objekty na úrovni aplikácie a nie na prvky DOM
- Pre komplexnú logiku používajte funkcie namiesto surového JavaScriptu Power Fx
- Využite vstavané mechanizmy overovania
- Priame funkcie dramatika vyhradiť pre scenáre, kde abstrakcie na úrovni aplikácie nie sú dostatočné
- Skontrolujte vygenerované testy a optimalizujte ich čitateľnosť a údržbu