Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
Feljegyzés
Az előzetes funkciókat nem célszerű termelési környezetben használni, és előfordulhat, hogy korlátozott funkcionalitással rendelkeznek. Ezek a funkciók a hivatalos kiadás előtt érhetők el, hogy az ügyfelek korán megismerkedhessenek velük, és visszajelzést adhassanak róluk.
Áttekintés
Power Apps A Test Engine a Playwrightot használja alapvető böngészőautomatizálási technológiájaként. Ez az integráció hatékony, megbízható és böngészőkön átívelő tesztelési képességeket biztosít a Test Engine számára, miközben több absztrakciós réteget ad hozzá az alkalmazások tesztkészítésének Power Platform egyszerűsítése érdekében.
Hogyan javítja a Test Engine a drámaírót
Míg a Playwright kiváló böngészőautomatizálási képességeket kínál, a Test Engine kifejezetten a következőkre Power Platform terjeszti ki ezeket a képességeket:
| Tesztmotor fejlesztése | Description |
|---|---|
| App-szintű absztrakciók | A Test Engine a DOM-elemek helyett alkalmazásszintű objektumokkal működik, így a tesztek rugalmasabbak a felhasználói felület változásaival szemben |
| Power Fx Integráció | A Test Engine támogatja Power Fx a tesztelés készítését, így kevés kódolást igénylő megközelítést tesz lehetővé |
| Beépített hitelesítés | Előre összeállított hitelesítési mechanizmusok kezelése Microsoft Entra és feltételes hozzáférési forgatókönyvei |
| Dataverse Integráció | A közvetlen integráció Dataverse lehetővé teszi az átfogó, végpontok közötti tesztelést |
| Szakosodott szolgáltatók | Vászonalapú alkalmazásokhoz és modellvezérelt alkalmazásokhoz optimalizált szolgáltatók |
Műszaki megvalósítás
A következő szakaszok azt mutatják be, hogy a Test Engine hogyan épít a Playwright böngészőautomatizálási alapjára, és hogyan integrálja azt Power Platform specifikus absztrakciókkal, lehetővé téve a robusztus és karbantartható tesztautomatizálást.
Böngészőautomatizálási alap
A Test Engine a Playwright alapvető képességeit használja a böngésző következetes automatizálásához:
- Böngészők közötti támogatás a Chrome-hoz Firefox, és Microsoft Edge
- Megbízható várakozási mechanizmusok , amelyek automatikusan megvárják, amíg az elemek készen állnak
- Hálózati kérelmek elfogása az API-válaszok szimulálásához
- Nyomkövetési és hibakeresési eszközök a teszthibák diagnosztizálásához
A Test Engine architekturális integrációja
- Szolgáltatói réteg: A Test Engine szolgáltatói rétege közvetlenül kapcsolódik a Playwright API-khoz a böngésző viselkedésének szabályozásához
- Objektummodell: A nyers DOM-elemekkel való munka helyett a tesztmotor alkalmazásspecifikus objektummodellekre van leképezve
- Power Fx Réteg: A beírt Power Fx tesztlépések értelmezése és végrehajtása a szolgáltatói rétegen keresztül történik
Főbb műszaki jellemzők
A következő szakaszok kiemelik azokat a fontos technikai funkciókat, amelyeket a Test Engine hozzáad a Playwrighthoz, beleértve az alkalmazásspecifikus választókat, a böngésző környezetkezelését és a Playwright funkciókhoz való közvetlen hozzáférést a speciális forgatókönyvekhez.
Alkalmazásspecifikus választók
A tesztmotor alkalmazásspecifikus választókat használ a vagy választók CSS helyett 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();
Böngésző környezetkezelés
A tesztmotor kezeli a böngészőkörnyezeteket a különböző hitelesítési forgatókönyvek támogatásához:
# Test Engine handles browser context automatically
pac test run `
--provider canvas `
--test-plan-file testplan.te.yaml `
--tenant $tenantId `
--environment-id $environmentId
Közvetlen drámaírói funkciók
Bár a Test Engine számos drámaírói interakciót absztrahál, vannak olyan forgatókönyvek, amikor a Playwright képességeinek közvetlen elérése értékes lehet. A Test Engine számos előnézeti funkciót kínál, amelyek lehetővé teszik a Playwrighttal való közvetlen interakciót a Power Fx tesztlépéseken belül.
A Drámaíró függvények használata a Test Engine-ben
A Test Engine a következő előnézeti funkciókat tartalmazza, amelyek lehetővé teszik a Playwright elemkiválasztási képességeinek alkalmazását:
| Function | Description | Példa |
|---|---|---|
| Előnézet.SzínészAkció | Művelet végrehajtása elemeken a DOM-választók használatával CSS | Preview.PlaywrightAction("//button", "click") Lásd a gyakori drámaírói akcióműveleteket |
| Előnézet.PlaywrightActionValue | Paramétert igénylő művelet végrehajtása | Preview.PlaywrightActionValue("//input[@data-id='1']", "fill", "Hello") Lásd a drámaíró gyakori akcióérték-műveleteit |
| Előnézet.JátékíróSzkript | Egyéni C#-szkript végrehajtása, amely a Playwrighthoz kapcsolódik | Preview.PlaywrightScript("sample.csx") Lásd: Speciális: Egyéni drámaírói forgatókönyvek |
| Előnézet.Szünet | A teszt végrehajtásának szüneteltetése és a Drámaíró vizsgáló megjelenítése | Preview.Pause() |
Feljegyzés
Az előnézeti függvények használatához hozzá kell adnia az előnézeti függvényeket a tesztbeállítások szakasz engedélyezett listájához.
Gyakori drámaírói akcióműveletek
A következő műveletek hajthatók végre a Preview.PlaywrightAction használatával:
| Művelet | Description | Példa |
|---|---|---|
click |
Elem kiválasztása kattintási esemény használatával | Preview.PlaywrightAction("//button[@id='submit']", "click") |
exists |
Ellenőrizze, hogy létezik-e elem | Preview.PlaywrightAction("//div[@class='error-message']", "exists") |
wait |
Várja meg, amíg egy elem elérhetővé válik | Preview.PlaywrightAction("//table[@data-loading='false']", "wait") |
Gyakori drámaíró akcióérték-műveletek
A következő műveletek hajthatók végre a Preview.PlaywrightActionValue használatával:
| Művelet | Description | Példa |
|---|---|---|
fill |
Űrlapmező kitöltése szöveggel | Preview.PlaywrightActionValue("//input[@name='search']", "fill", "Product name") |
select |
Válasszon egy lehetőséget a kiválasztási listából | Preview.PlaywrightActionValue("//select", "select", "Option2") |
setAttribute |
Attribútum beállítása egy elemhez | Preview.PlaywrightActionValue("//div", "setAttribute", "data-custom='value'") |
Mikor érdemes közvetlen drámaírói funkciókat használni?
Bár az alkalmazásszintű absztrakciók előnyben részesítettek, a közvetlen Playwright-függvények hasznosak az alábbi esetekben:
- A szabványos tesztmotor-funkciók által nem lefedett összetett felhasználói felületi interakciók
- Harmadik féltől származó összetevők speciális kezelést igénylő alkalmazásokban Power Platform
- Összetett tesztforgatókönyvek hibakeresése, ahol nagyobb vezérlésre van szükség
- Az elemállapotok vagy tulajdonságok speciális ellenőrzése
Példa: Kombinált megközelítés
Ez a példa az alkalmazásszintű absztrakciók és a közvetlen Playwright-műveletek kombinálását mutatja be:
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");
Haladó: Egyéni drámaíró forgatókönyvek
Speciális forgatókönyvek esetén egyéni forgatókönyveket hozhat létre:
- Fájl létrehozása
.csxaz egyéni Playwright logikával - Referencia szükséges Drámaíró összeállítások
- A szükséges osztálystruktúra megvalósítása
- A szkript meghívása a tesztlépésekből
// 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
}
}
Feljegyzés
A Preview.PlaywrightScript csak a forrásból készült tesztmotor hibakeresési buildjeihez van implementálva, a kiadott pac test run eszközben nem.
Integráció a fejlesztési folyamattal
A következő szakaszok azt ismertetik, hogy a Test Engine és a Playwright hogyan használható helyi fejlesztési és CI/CD-környezetekben, és hogyan támogathatja a munkafolyamatok széles skáláját az interaktív hibakereséstől az automatizált folyamatvégrehajtásig.
Helyi fejlesztés
A helyi fejlesztéshez a Test Engine teljes környezetet biztosít:
- Helyi böngésző végrehajtása felhasználói felület láthatóságával
- Lépésről lépésre teszt végrehajtása
- Részletes naplók és diagnosztika
CI/CD integráció
CI/CD környezetben a Test Engine fej nélküli módban futtathatja a Playwrightot:
# 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)"
Ajánlott eljárások
A Test Engine drámaíró integrációjának használatakor:
- Fókusz az alkalmazásszintű objektumokra a DOM-elemek helyett
- Használjon Power Fx függvényeket összetett logikához a nyers JavaScript helyett
- Használja ki a beépített hitelesítési mechanizmusok előnyeit
- Közvetlen Playwright-függvények fenntartása olyan forgatókönyvekhez, ahol az alkalmazásszintű absztrakciók nem elegendőek
- A generált tesztek áttekintése az olvashatóság és a karbantartás optimalizálása érdekében