Partekatu bidez


Proba-motorra eta dramaturgoaren integrazioa (aurrebista)

Oharra

Aurrebista-eginbideak ez daude ekoizpenerako diseinatuta, eta funtzionalitate murriztua izan dezakete. Eginbide horiek kaleratze ofiziala baino lehen dauden erabilgarri, bezeroek atzitu eta beren oharrak eman ditzaten.

Informazio orokorra

Power Apps Test Engine-k Playwright erabiltzen du bere nabigatzailearen automatizazio-teknologia nagusi gisa. ... Integrazio honek Test Engine-ri probak egiteko gaitasun indartsuak, fidagarriak eta arakatzaile anitzekoak eskaintzen dizkio, eta, aldi berean, abstrakzio-geruza ugari gehitzen dizkio aplikazioetarako probak sortzea errazteko. Power Platform

Nola hobetzen du Test Engine-k Playwriter

Playwright-ek arakatzailearen automatizazio gaitasun bikainak eskaintzen dituen arren, Test Engine-k gaitasun horiek zabaltzen ditu bereziki honetarako: Power Platform:

Proba Motorraren Hobekuntza Deskribapenak
Aplikazio-mailako abstrakzioak Test Engine-k aplikazio mailako objektuekin funtzionatzen du DOM elementuekin baino, probak UI aldaketekiko erresilienteagoak bihurtuz.
Power Fx Integrazioa Test Engine-k euskarria gehitzen du, probak sortzeko kode gutxiko ikuspegia ahalbidetuz Power Fx
Autentifikazio integratua Aurrez eraikitako autentifikazio mekanismoek kudeatzen dituzte eta baldintzapeko sarbide-eszenatokiak Microsoft Entra
Dataverse Integrazioa Dataverse -rekin zuzeneko integrazioak muturretik muturrerako probak egitea ahalbidetzen du
Hornitzaile espezializatuak Hornitzaile optimizatuak Canvas aplikazioetarako eta ereduetan oinarritutako aplikazioetarako

Inplementazio teknikoa

Hurrengo atalek azaltzen dute nola eraikitzen den Test Engine Playwright-en arakatzailearen automatizazio-oinarrian eta nola integratzen den Power Platform-ko abstrakzio espezifikoekin, proba-automatizazio sendoa eta mantentzeko modukoa ahalbidetuz.

Nabigatzailearen automatizazio oinarria

Test Engine-k Playwright-en oinarrizko gaitasunak erabiltzen ditu arakatzailearen automatizazio koherentea lortzeko:

  • Chrome-rako arakatzaile anitzeko laguntza , Firefox eta Microsoft Edge
  • Elementuak prest egon arte automatikoki itxaroten duten itxarote-mekanismo fidagarriak
  • Sareko eskaerak atzematea API erantzunak simulatzeko
  • Proba-hutsegiteak diagnostikatzeko trazabilitate- eta arazketa-tresnak

Proba-motorraren arkitektura-integrazioa

  • Hornitzaile geruza: Test Engine-ko hornitzaile geruzak zuzenean Playwright APIekin elkarreragiten du arakatzailearen portaera kontrolatzeko
  • Objektu Eredua: DOM elementu gordinak erabili beharrean, Test Engine aplikazio espezifikoetarako objektu ereduetara mapatzen da.
  • Power Fx Geruza: Power Fx -n idatzitako proba-urratsak hornitzaile-geruzaren bidez interpretatu eta exekutatzen dira

Ezaugarri tekniko nagusiak

Hurrengo atalek Test Engine-k Playwright-i gehitzen dizkion ezaugarri tekniko garrantzitsuak nabarmentzen dituzte, besteak beste, aplikazio espezifikoen hautatzaileak, arakatzailearen testuinguruaren kudeaketa eta Playwright funtzioetarako sarbide zuzena egoera aurreratuetarako.

Aplikazio espezifikoen hautatzaileak

Test Engine-k aplikazio espezifikoen hautatzaileak erabiltzen ditu CSS edo XPath hautatzaileen ordez:

# 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();

Nabigatzailearen testuinguruaren kudeaketa

Test Engine-k arakatzailearen testuinguruak kudeatzen ditu hainbat autentifikazio-eszenatoki onartzeko:

# Test Engine handles browser context automatically
pac test run `
   --provider canvas `
   --test-plan-file testplan.te.yaml `
   --tenant $tenantId `
   --environment-id $environmentId

Antzerkigilearen funtzio zuzenak

Test Engine-k Playwright-en interakzio asko laburbiltzen dituen arren, badira Playwright-en gaitasunetara zuzenean sartzea baliotsua izan daitekeen egoerak. Test Engine-k hainbat aurrebista funtzio eskaintzen ditu, zure proba-urratsen barruan Playwright-ekin zuzenean elkarreragiteko aukera ematen dutenak. Power Fx

Playwright funtzioak Test Engine-n erabiltzea

Test Engine-k Playwright-en elementuen hautaketa gaitasunak aplikatzeko aukera ematen dizuten aurrebista funtzio hauek ditu:

Function Deskribapenak Adibidez
Aurrebista.AntzerkigilearenEkintza Elementuetan ekintza bat exekutatu CSS edo DOM hautatzaileak erabiliz Preview.PlaywrightAction("//button", "click")
Ikus Antzerkigilearen ekintza-eragiketa arruntak
Aurrebista.DramatzerarenEkintzarenBalioa Balio-parametro bat behar duen ekintza bat exekutatu Preview.PlaywrightActionValue("//input[@data-id='1']", "fill", "Hello")
Ikusi Dragozagilearen Ekintza Balio Eragiketa Ohikoenak
Aurrebista.DramagilearenGidoia Exekutatu Playwright-ekin interfazatzen den C# script pertsonalizatu bat Preview.PlaywrightScript("sample.csx")
Ikusi Aurreratua: Antzerkigileentzako gidoi pertsonalizatuak
Aurreikuspena.Pausatu Pausatu probaren exekuzioa eta erakutsi Antzerkigile Ikuskatzailea Preview.Pause()

Oharra

Aurrebista funtzio hauek erabiltzeko, aurrebista funtzioak gehitu behar dituzu proba ezarpenen ataleko baimendutako zerrendara.

Antzerkigileen ekintza-eragiketa arruntak

Eragiketa hauek egin daitezke Preview.PlaywrightAction-rekin:

Jarduera Deskribapenak Adibidez
click Elementu baten hautaketa klik gertaera erabiliz Preview.PlaywrightAction("//button[@id='submit']", "click")
exists Elementu bat existitzen den egiaztatu Preview.PlaywrightAction("//div[@class='error-message']", "exists")
wait Elementu bat eskuragarri egon arte itxaron Preview.PlaywrightAction("//table[@data-loading='false']", "wait")

Antzerkigilearen ekintza-balioen eragiketa arruntak

Eragiketa hauek egin daitezke Preview.PlaywrightActionValue-rekin:

Jarduera Deskribapenak Adibidez
fill Bete formulario-eremu bat testuarekin Preview.PlaywrightActionValue("//input[@name='search']", "fill", "Product name")
select Hautatu aukera bat hautaketa-zerrenda batetik Preview.PlaywrightActionValue("//select", "select", "Option2")
setAttribute Ezarri atributu bat elementu batean Preview.PlaywrightActionValue("//div", "setAttribute", "data-custom='value'")

Noiz erabili behar dira Dramaturgoaren funtzio zuzenak

Aplikazio mailako abstrakzioak nahiago diren arren, Playwright funtzio zuzenak erabilgarriak dira egoera hauetan:

  • UI interakzio konplexuak ez dira proba-motorraren funtzio estandarrek estaltzen
  • Hirugarrenen osagaiak kudeaketa berezia behar duten Power Platform aplikazioetan
  • Kontrol gehiago behar den proba-eszenatoki konplexuak araztea
  • Elementuen egoeren edo propietateen balidazio aurreratua

Adibidea: Ikuspegi konbinatua

Adibide honek aplikazio mailako abstrakzioak Playwright-en ekintza zuzenekin konbinatzen erakusten du:

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");

Aurreratua: Antzerkigileentzako gidoi pertsonalizatuak

Egoera oso espezializatuetarako, Dramaturgo gidoi pertsonalizatuak sor ditzakezu:

  1. Sortu fitxategi bat zure Playwright logika pertsonalizatuarekin .csx
  2. Erreferentzia beharrezkoak diren dramaturgo muntaketak
  3. Beharrezko klase-egitura ezartzea
  4. Deitu script-a zure proba-urratsetatik
// 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
    }
}

Oharra

Preview.PlaywrightScript iturburutik eraikitako Test Engine arazketa-eraikuntzetarako bakarrik inplementatzen da, ez argitaratutako tresnan pac test run .

Garapen prozesuarekin integrazioa

Hurrengo atalek azaltzen dute nola erabil daitezkeen Test Engine eta Playwright garapen lokalean eta CI/CD inguruneetan, hainbat lan-fluxu onartuz, arazketa interaktibotik hasi eta pipeline automatizatuaren exekuzioraino.

Tokiko garapena

Tokiko garapenerako, Test Engine-k ingurune osoa eskaintzen du:

  • Tokiko arakatzailearen exekuzioa UI ikusgarritasunarekin
  • Pausoz pauso probaren exekuzioa
  • Erregistro eta diagnostiko zehatzak

CI/CD integrazioa

CI/CD inguruneetan, Test Engine-k Playwright bururik gabeko moduan exekutatu dezake:

# 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)"

Jardunbide egokiak

Test Engine-ren Playwright integrazioarekin lan egitean:

  • Aplikazio mailako objektuetan zentratu DOM elementuetan baino gehiago
  • Erabili funtzioak logika konplexurako, JavaScript gordinaren ordez Power Fx
  • Erabili barneratutako autentifikazio mekanismoak
  • Erreserbatu zuzeneko Playwriter funtzioak aplikazio mailako abstrakzioak nahikoak ez diren egoeretarako
  • Berrikusi sortutako probak irakurgarritasuna eta mantentze-lanak optimizatzeko