Dalintis per


"Power Apps" tikrinimo modulio YAML formatas (peržiūra)

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ų.

Testai apibrėžiami YAML laikantis tokių pačių rekomendacijų kaip "Power Fx". Sužinokite daugiau apie "Power Fx YAML" formulės gramatiką.

Peržiūrėkite " PowerApps-TestEngine" / pavyzdžių aplanką ir peržiūrėkite išsamius pavyzdžius.

YAML schemos apibrėžimai

Nuosavybė Aprašą
testSuite Apibrėžia vieną bandymų paketą, bandymų atvejus bandymų rinkinyje ir konfigūraciją, būdingą bandymų komplektui
testSettings Apibrėžia bandymų paketo parametrus, kurie pakartotinai naudojami keliuose bandomuose bylose
environmentVariables Apibrėžia kintamuosius, kurie gali būti pakeisti, kai taikomoji programa perkeliama į skirtingas aplinkas

testSuite

Naudojamas vienam testui apibrėžti.

Nuosavybė Rūšis Aprašą
persona eilutė Būtina. Vartotojas, kuris yra prisijungęs, kad galėtų atlikti testą. Turi atitikti asmenį, nurodytą skyriuje Vartotojai .
testCases TestCases Būtina. Apibrėžia bandymų atvejus bandymų rinkinyje. Testavimo atvejai, esantys testų rinkiniuose, vykdomi nuosekliai. Programos būsena išlieka visuose rinkinio bandomuosiuose atvejuose.
testSuiteName eilutė Būtina. Bandymų paketo pavadinimas.
appLogicalName eilutė Pasirenkama. Taikomosios programos, kuri bus paleista, loginis pavadinimas. Jį galima gauti iš tirpalo. Jei naudojate drobės programėles, turite ją įtraukti į sprendimą, kad jį gautumėte. Žr . Kaip nustatyti savo taikomąją programą bandymų plane
appId Vadovas Pasirenkama. Taikomosios programos, kuri bus paleista, ID. Būtina ir naudojama tik tada, kai appLogicalName jos nėra. Taikomosios programos ID turėtų būti naudojamas tik drobės programoms, kurių nėra sprendime. Žr . Kaip nustatyti savo taikomąją programą bandymų plane
networkRequestMocks NetworkRequestMocks Pasirenkama. Apibrėžia tinklo užklausos maketus, reikalingus testui.
onTestCaseComplete eilutė Pasirenkama. Apibrėžia veiksmus, kuriuos reikia paleisti kiekvienam bandomojo atvejo atvejui rinkinyje, kai atvejis baigiamas vykdyti.
onTestCaseStart eilutė Pasirenkama. Apibrėžia veiksmus, kuriuos reikia paleisti kiekvienam bandomojo atvejo atvejui rinkinyje prieš pradedant vykdyti atvejį.
onTestSuiteComplete eilutė Pasirenkama. Apibrėžia veiksmus, kuriuos reikia paleisti, kai paketas baigiamas vykdyti.
testSuiteDescription eilutė Pasirenkama. Papildoma informacija aprašo, ką daro bandymų paketas.

Kaip nustatyti taikomąją programą bandymų plane

Turite nustatyti appLogicalName arba appId nustatyti savo taikomąją programą. Kurią naudojate priklauso nuo to, ar jūsų programa apibrėžta sprendime.

Kai nustatote taikomąsias programas sprendimuose, jūsų testai lieka perkeliami visose aplinkose. Nustatykite ypatybę appLogicalName , nurodančią, kad programa pagrįsta sprendimu.

Norėdami rasti programos loginį pavadinimą:

  1. Atidarykite sprendimą, kuriame yra jūsų programa, naudodami "Power Apps"
  2. Sąraše naudokite pavadinimą (ne rodomą vardą). Pavadinimo reikšmė apima sprendimo leidėjo tinkinimo prefiksą.

Atskiros programėlės

Kai jūsų taikomoji programa neapibrėžta sprendime, turite naudoti ypatybę appId .

Norėdami rasti taikomosios programos ID:

  1. Raskite programėlę "Power Apps" sąraše
  2. Atidaryti išsamią informaciją ir atkreipkite dėmesį į taikomosios programos ID GUID

NetworkRequestMocks

Nuosavybė Rūšis Aprašą
requestURL eilutė Būtina. Užklausos URL, kuris gauna maketo atsakymą. Gaublio modeliai priimami
responseDataFile eilutė Būtina. Tekstinis failas su maketo atsakymo turiniu. Visas šio failo tekstas skaitomas kaip atsakymas
headers masyvas Pasirenkama. A list of header fields in the request in the format of [fieldName: fieldValue]
method eilutė Pasirenkama. Užklausos metodas (GET, POST ir t. t.)
requestBodyFile eilutė Pasirenkama. Tekstinis failas su užklausos tekstu. Visas šio failo tekstas skaitomas kaip užklausos tekstas

Pasirinktinės ypatybės, jei nenurodyta reikšmė, nukreipimas taikomas visoms. Pavyzdžiui, jei method yra neapibrėžta reikšmė, atsiunčiame maketo atsaką, neatsižvelgiant į tai, koks metodas yra, jei visos kitos ypatybės atitinka.

"Sharepoint" / "Dataverse" / "Connector" taikomosiose programose requestURL ir method gali sutapti su visomis užklausomis. x-ms-request-method ir x-ms-request-url antraštėse gali reikėti sukonfigūruoti tokiu atveju, kad būtų galima identifikuoti skirtingas užklausas.

TestCases

Nuosavybė Rūšis Aprašą
testCaseName eilutė Būtina. Bandymo atvejo, kuris naudojamas pranešant apie sėkmingą ir nesėkmingą sėkmę, pavadinimas
testSteps TestSteps Būtina. "Power Fx" funkcijų rinkinys, aprašantis veiksmus, reikalingus testo atvejui atlikti. Žr . TestSteps pavyzdį
testCaseDescription Ne Pasirenkama. Papildoma informacija apie tai, ką daro bandomasis atvejis

TestSteps

  • TestSteps gali naudoti bet kokias esamas bandymo modulio "Power Fx" funkcijas arba specialias bandymų funkcijas , apibrėžtas šioje sistemoje.
  • Reikšmė turėtų prasidėti kanalo simboliu (|), kad būtų galima naudoti kelių eilučių YAML reiškinius, po kurių eina lygybės (=) ženklas, nurodantis, kad tai yra "Power Fx" reiškinys
  • Funkcijos turi būti atskirtos kabliataškiu (;).
  • Komentarai gali būti naudojami ir turėtų prasidėti dvigubo pasvirojo brūkšnio simboliais (//).

TestSteps pavyzdys

testCases:
   - testCaseName: Fill in a city name and do the search
   testSteps: |
      = Screenshot("connectorapp_loaded.png");
         SetProperty(TextInput1.Text, "Atlanta");
         Select(Button1);
         Assert(Label4.Text = "You are seeing the mock response", "Validate the output is from the mock");
         Screenshot("connectorapp_end.png");

testSettings

Naudojamas bandymų plano testų parametrams apibrėžti.

Nuosavybė Rūšis Aprašą
browserConfigurations Naršyklės konfigūravimas[] Būtina. Tikrinamų naršyklės konfigūracijų sąrašas. Reikia nurodyti bent vieną naršyklę.
extensionModules extensionModules Pasirenkama. Apima duomenis apie įgalintus plėtinius.
filePath eilutė Pasirenkama. Failo kelias į atskirą yaml failą su visais tikrinimo parametrais. Jei pateikta, ji perrašys visus tikrinimo plano tikrinimo parametrus.
headless bulio logikos Pasirenkama. Numatytoji reikšmė yra teisinga. Jei nustatyta false (klaidinga), naršyklė rodoma atliekant testą.
locale eilutė Pasirenkama. Lokalės / kultūros sintaksė, kurioje įrašyti testo atvejai arba testo veiksmai. Jei nenurodyta, CultureInfo.CurrentCulture naudojama lokalei pagal numatytuosius nustatymus analizuojant testo veiksmus. Žr . Regiono ir kalbos aspektai
recordVideo bulio logikos Pasirenkama. Numatytoji reikšmė yra klaidinga. Jei nustatyta true (teisinga), užfiksuotas testo vaizdo įrašas.
timeout sveikasis skaičius Pasirenkama. Skirtojo laiko reikšmė milisekundėmis. Numatytoji reikšmė yra 30 000 milisekundių (30). Jei kuri nors operacija trunka ilgiau nei skirtasis laikas, bandymas baigiamas trikties metu.
powerFxTestTypes name value pora Pasirenkama. Tipo pavadinimo ir "Power Fx" tipo apibrėžimų sąrašas. Žr . powerFxTestTypes pavyzdį
testFunctions description code pora Pasirenkama. A list of description and Power Fx function definitions. Žr . testFunctions pavyzdį

extensionModules

Apima duomenis apie įgalintus plėtinius.

Nuosavybė Rūšis Aprašą
enable Bulio Ar įgalinti plėtinio moduliai.
allowPowerFxNamespaces sąrašas Įgalintinų PowerFx vardų sričių sąrašas.
parameters rakto reikšmių poros Ypatybės su reikšmėmis plėtinio moduliams valdyti. Šiuo metu leistinas tik Bulio logikos enableDataverseFunctions parametras.

Šiame pavyzdyje parodyta, kaip įgalinti "PowerFx Preview " vardų sritį:

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview

Sužinokite daugiau apie peržiūros funkcijas

Regiono ir kalbos aspektai

Tikrinimo modulis palaiko įvairius kalbos ir regiono parametrus, pvz., dešimtainius ir sąrašo skyriklius. Ypatybė testSettings.locale valdo šiuos veiksmus. Daugiau informacijos žr. Visuotinis "Microsoft Power Fx" palaikymas.

Peržiūrėkite šiuos konfigūracijų pavyzdžius PowerApps-TestEngine "GitHub" saugykloje:

powerFxTestTypes pavyzdys

powerFxTestTypes:
 - name: ControlName
   value: |
      {ControlName: Text} 
 - name: Options
   value: |
      [{Name: Text, Value: Number}]   

Šiame pavyzdyje parodyta, kaip apibrėžti pasirinktinius "Power Fx" tipus, kad juos būtų galima naudoti bandomiesiems atvejams. Tipas ControlName apibrėžiamas kaip įrašas su vienu Text lauku, o Options tipas apibrėžiamas kaip įrašų lentelė, kiekvienas iš jų turi Name tipo Text lauką ir Value tipo Numberlauką. Pasirinktiniai tipai gali būti naudojami sudėtingesniems ir konkretesniems bandymų scenarijams kurti, siekiant padidinti testo aprašų lankstumą ir galimybes.

testFunctions pavyzdys

testFunctions:
 - description: Wait until control is visible using Document Object Model (DOM) selector
   code: |
    WaitUntilVisible(control: Text): Void = 
      Preview.PlaywrightAction(Concatenate("//div[@data-id='", control, "']"), "wait");
 - description: Get the options for a control using Power Fx control from Model Driven App (MDA)
   code: |
    GetOptions(control: ControlName): Options =
      Preview.GetOptions(control);

Šie bandymo funkcijos pavyzdžiai rodo, kaip apibrėžti pasirinktines "Power Fx" funkcijas, skirtas naudoti jūsų bandomiesiems atvejams. Funkcija WaitUntilVisible naudoja DOM parinkiklį, kad palaukite, kol bus matomas nurodytas valdiklis, naudodama "Playwright" veiksmus. Funkcija GetOptions nuskaito nurodyto valdiklio parinktis iš modelio valdomų programėlių (MDA), naudodama "Power Fx" valdiklį. Šios pasirinktinės funkcijos padidina testo aprašų lankstumą ir galią, todėl yra sudėtingesni ir konkretesni bandymų scenarijai.

Naršyklės konfigūravimas

Kiekvienam testSettings reikia bent vieno BrowserConfiguration.

Nuosavybė Rūšis Aprašą
browser eilutė Būtina. Naršyklė, paleidžiama tikrinant. Turi atitikti "Playwright" palaikomas naršykles.
device eilutė Pasirenkama. Įrenginys, kurį reikia imituoti paleidžiant naršyklę. Turi atitikti "Playwright" palaikomus įrenginius
screenHeight sveikasis skaičius Pasirenkama. Ekrano aukštis, naudojamas paleidžiant naršyklę. Jei nurodyta, screenWidth taip pat turi būti nurodyta.
screenWidth sveikasis skaičius Pasirenkama. Ekrano plotis, naudojamas paleidžiant naršyklę. Jei nurodyta, screenHeight taip pat turi būti nurodyta.

environmentVariables

Skirtingų tipų reikšmes galite saugoti kaip aplinkos reikšmes, tačiau dažniausiai kredencialų informaciją saugo vartotojų sąrašas.

Vartotojai

Siekiant užtikrinti, kad kredencialai būtų saugomi saugiai, tikrinimo aprašas nurodo vartotojus, naudojančius personaName. Kredencialų saugojimas testo plano failuose nepalaikomas.

Pavyzdys:

environmentVariables:
    - users:
        - personaName: "User1"
          emailKey: "user1Email"
        - personaName: "User2"
          emailKey: "user2Email"

Naudojamas personaName kaip tikrinimo aprašo dalis, nurodantis, kaip vartotojas turi vykdyti testą.

Palaikomi kredencialų saugojimo mechanizmai

Norėdami išsaugoti kredencialus kaip aplinkos kintamuosius, galite nustatyti juos taip:

# In PowerShell - replace variableName and variableValue with the correct values
$env:variableName = "variableValue"

YAML turi būti apibrėžtos dvi ypatybės, nurodančios, kad šio vartotojo kredencialai saugomi aplinkos kintamuose kintamuose laukuose:

  • emailKey: aplinkos kintamasis, naudojamas vartotojo el. paštui saugoti.

Yaml pavyzdys:

    - personaName: "User1"
      emailKey: "user1Email"

"PowerShell" pavyzdys, kaip nustatyti vartotojo kredencialus pagal YAML:

$env:user1Email = "someone@example.com"

Taip pat žr.

"Power Apps" tikrinimo modulio apžvalga (peržiūra)
Power Apps Bandomojo variklio Power Fx funkcijos (peržiūra)