Kopīgot, izmantojot


Power Apps testa programmas YAML formāts (priekšskatījums)

Piezīmes

Priekšskatījuma līdzekļi nav paredzēti komerciālai lietošanai, un to funkcionalitāte var būt ierobežota. Šie līdzekļi ir pieejami pirms oficiālā laidiena, lai klienti varētu priekšlaikus piekļūt līdzeklim un sniegt atsauksmes.

Testi tiek definēti programmā YAML, ievērojot tādas pašas vadlīnijas kā Power Fx. Uzziniet vairāk par Power Fx YAML formulas gramatiku.

Skatiet mapi PowerApps-TestEngine/samples , lai iegūtu detalizētus piemērus.

YAML shēmu definīcijas

Īpašums Apraksts
testSuite Definē vienu testa komplektu, testa gadījumus testa komplektā un konfigurāciju, kas raksturīga testa komplektam
testIestatījumi Definē testa komplekta iestatījumus, kas tiek atkārtoti izmantoti vairākos testa gadījumos
environmentVariables Definē mainīgos, kas potenciāli var mainīties, kad programma tiek pārnesta dažādās vidēs

testSuite

Izmanto, lai definētu vienu testu.

Īpašums Tips Apraksts
persona virkne Obligāti jānorāda. Lietotājs, kurš ir pieteicies, lai veiktu testu. Jāatbilst personai, kas norādīta sadaļā Lietotāji .
testCases Testa gadījumi Obligāti jānorāda. Definē testa gadījumus testa komplektā. Testa komplektos esošie testa gadījumi tiek izpildīti secīgi. Lietotnes stāvoklis tiek saglabāts visos komplekta testa gadījumos.
testSuiteName virkne Obligāti jānorāda. Testa komplekta nosaukums.
appLogicalName virkne Neobligāts. Palaižamās programmas loģiskais nosaukums. To var iegūt no šķīduma. Lai to iegūtu, audekla programmām tas ir jāpievieno risinājumam. Skatiet Kā identificēt savu pieteikumu testa plānā
appId GUID Neobligāts. Palaižamās programmas ID. Nepieciešams un tiek izmantots tikai tad, ja appLogicalName tā nav. Programmas ID ir jāizmanto tikai tām audekla programmām, kas nav risinājumā. Skatiet Kā identificēt savu pieteikumu testa plānā
networkRequestMocks NetworkRequestMocks Neobligāts. Definē tīkla pieprasījumu maketus, kas nepieciešami testam.
onTestCaseComplete virkne Neobligāts. Definē darbības, kas jāaktivizē katram testa gadījumam komplektā pēc pieteikuma izpildes pabeigšanas.
onTestCaseStart virkne Neobligāts. Definē darbības, kas jāaktivizē katram testa gadījumam komplektā, pirms lieta sāk izpildīt.
onTestSuiteComplete virkne Neobligāts. Definē darbības, kas jāaktivizē pēc komplekta izpildes pabeigšanas.
testSuiteDescription virkne Neobligāts. Papildu informācija apraksta, ko dara testa komplekts.

Kā identificēt savu pieteikumu testa plānā

Jums ir nepieciešams iestatīt vai identificēt appLogicalNameappId savu pieteikumu. Tas, ko izmantojat, ir atkarīgs no tā, vai jūsu programma ir definēta risinājumā.

Definējot programmas risinājumos, testi paliek pārnēsājami dažādās vidēs. Iestatiet rekvizītu appLogicalName , lai norādītu, ka programma ir balstīta uz risinājumu.

Lai atrastu programmas loģisko nosaukumu, veiciet tālāk norādītās darbības.

  1. Atveriet risinājumu, kurā ir jūsu programma, Power Apps
  2. Sarakstā izmantojiet vārdu (nevis parādāmo vārdu). Nosaukuma vērtība ietver risinājuma izdevēja pielāgošanas prefiksu.

Atsevišķas lietotnes

Ja jūsu lietotne nav definēta risinājumā, jums ir jāizmanto appId īpašums.

Lai atrastu lietotnes ID, veiciet tālāk norādītās darbības.

  1. Atrodiet programmu Power Apps sarakstā
  2. Atveriet sadaļu Detalizēta informācija un atzīmējiet programmas ID GUID

NetworkRequestMocks

Īpašums Tips Apraksts
requestURL virkne Obligāti jānorāda. Pieprasījuma URL, uz kuru tiek saņemta fiktīva atbilde. Tiek pieņemti glob modeļi
responseDataFile virkne Obligāti jānorāda. Teksta fails ar fiktīvas atbildes saturu. Viss teksts šajā failā tiek lasīts kā atbilde
headers masīvs Neobligāts. Galvenes lauku saraksts pieprasījumā formātā [fieldName: fieldValue]
method virkne Neobligāts. Pieprasījuma metode (GET, POST utt.)
requestBodyFile virkne Neobligāts. Teksta fails ar pieprasījuma pamattekstu. Viss teksts šajā failā tiek lasīts kā pieprasījuma pamatteksts

Ja neobligātajiem rekvizītiem nav norādīta neviena vērtība, maršrutēšana attiecas uz visiem. Piemēram, ja method ir nulle, mēs nosūtām atpakaļ fiktīvo atbildi neatkarīgi no metodes, ja vien visi pārējie rekvizīti sakrīt.

Sharepoint/Dataverse/Connector programmām, requestURL un tas var method būt vienāds visiem pieprasījumiem. x-ms-request-method un x-ms-request-url šajā gadījumā galvenes varētu būt jākonfigurē, lai identificētu dažādus pieprasījumus.

Testa gadījumi

Īpašums Tips Apraksts
testCaseName virkne Obligāti jānorāda. Testa gadījuma nosaukums, kas tiek izmantots, lai ziņotu par panākumiem un neveiksmēm
testSteps Testa soļi Obligāti jānorāda. Power Fx funkciju kopa, kurā aprakstītas darbības, kas nepieciešamas, lai veiktu testa gadījumu. Skatiet TestSteps piemēru
testCaseDescription Nē. Neobligāts. Papildu informācija apraksta, ko dara testa gadījums

Testa soļi

  • TestSteps var izmantot jebkuras esošās Test Engine Power Fx funkcijas vai īpašas testa funkcijas , kas definētas šajā sistēmā.
  • Vērtībai jāsākas ar cauruļvada simbolu (|), lai atļautu vairākrindu YAML izteiksmes, kam seko vienādības zīme (=), lai norādītu, ka tā ir Power Fx izteiksme
  • Funkcijas jāatdala ar semikolu (;).
  • Komentārus var izmantot, un tiem jāsākas ar dubultās slīpsvītras rakstzīmēm (//).

TestSteps piemērs

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

testIestatījumi

Izmanto, lai definētu testēšanas plāna testu iestatījumus.

Īpašums Tips Apraksts
browserConfigurations Pārlūkprogrammas konfigurācija[] Obligāti jānorāda. Pārbaudāmo pārlūkprogrammas konfigurāciju saraksts. Jānorāda vismaz viena pārlūkprogramma.
extensionModules paplašinājuma moduļi Neobligāts. Satur datus par iespējojamiem paplašinājumiem.
filePath virkne Neobligāts. Faila ceļš uz atsevišķu yaml failu ar visiem testa iestatījumiem. Ja tas tiek nodrošināts, tas ignorēs visus testa plāna iestatījumus.
headless boolean Neobligāts. Noklusējuma vērtība ir Patiess. Ja iestatīts uz false, pārlūkprogramma tiek parādīta testa izpildes laikā.
locale virkne Neobligāts. Lokalizācijas/kultūras sintakse, kurā ir rakstīti testa gadījumi vai testa darbības. Ja nav norādīts, pēc noklusējuma tiek izmantots lokalizācijai, CultureInfo.CurrentCulture lai parsētu testa darbības. Skatiet sadaļu Apsvērumi par reģionu un valodu
recordVideo boolean Neobligāts. Noklusējuma vērtība ir aplama. Ja iestatīts uz true, tiek uzņemts testa video ieraksts.
timeout vesels skaitlis Neobligāts. Taimauta vērtība milisekundēs. Noklusējums ir 30 000 milisekundes (30 sekundes). Ja kāda darbība aizņem ilgāku laiku par taimauta ierobežojumu, pārbaude tiek pabeigta ar kļūmi.
powerFxTestTypes name value Pāri Neobligāts. Tipa nosaukuma un Power Fx tipa definīciju saraksts. Skatiet powerFxTestTypes piemēru
testFunctions description code Pāri Neobligāts. Aprakstu un Power Fx funkciju definīciju saraksts. Skatīt testFunctions piemēru

paplašinājuma moduļi

Satur datus par iespējojamiem paplašinājumiem.

Īpašums Tips Apraksts
enable bool Vai paplašinājuma moduļi ir iespējoti.
allowPowerFxNamespaces saraksts Iespējojamo PowerFx nosaukumvietu saraksts.
parameters Atslēgu vērtību pāri Rekvizīti ar vērtībām, lai kontrolētu paplašinājuma moduļus. Šobrīd tam ir derīgs tikai Būla enableDataverseFunctions parametrs.

Šajā piemērā ir parādīts, kā iespējot PowerFx Preview nosaukumvietu:

testSettings:
  extensionModules:
    enable: true
    allowPowerFxNamespaces:
    - Preview

Papildinformācija par priekšskatījuma funkcijām

Reģiona un valodas apsvērumi

Test Engine atbalsta dažādus valodu un reģionālos iestatījumus, piemēram, decimāldaļas un saraksta atdalītājus. Rekvizīts testSettings.locale kontrolē šo darbību. Papildinformāciju skatiet sadaļā Globālais atbalsts programmā Microsoft Power Fx.

Apskatiet šos konfigurāciju paraugus PowerApps-TestEngine GitHub repozitorijā:

powerFxTestTypes piemērs

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

Šajā piemērā parādīts, kā definēt pielāgotus Power Fx tipus lietošanai testa gadījumos. Tips ControlName ir definēts kā ieraksts ar vienu Text lauku, savukārt Options tips ir definēts kā ierakstu tabula, kurā katrs satur Name tipa Text lauku un Value tipa Numberlauku . Pielāgotos tipus var izmantot, lai izveidotu sarežģītākus un specifiskākus testa scenārijus, uzlabojot testa definīciju elastību un jaudu.

testFunctions piemērs

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 testa funkciju piemēri parāda, kā definēt pielāgotas Power Fx funkcijas lietošanai testa gadījumos. Funkcija WaitUntilVisible izmanto DOM atlasītāju, lai gaidītu, līdz ir redzama norādītā vadīkla, izmantojot Playwright darbības. Funkcija GetOptions izgūst norādītās vadīklas opcijas no modeļa vadītas programmas (MDA), izmantojot Power Fx vadīklu. Šīs pielāgotās funkcijas uzlabo testa definīciju elastību un jaudu, ļaujot izmantot sarežģītākus un specifiskākus testēšanas scenārijus.

Pārlūkprogrammas konfigurācija

Katram testa iestatījumiem ir nepieciešams vismaz viens BrowserConfiguration.

Īpašums Tips Apraksts
browser virkne Obligāti jānorāda. Pārlūks, kas jāpalaiž testēšanas laikā. Jāatbilst Playwright atbalstītajām pārlūkprogrammām.
device virkne Neobligāts. Ierīce, kas jāatdarina, palaižot pārlūkprogrammu. Jāatbilst Playwright atbalstītajām ierīcēm
screenHeight vesels skaitlis Neobligāts. Ekrāna augstums, kas jāizmanto, palaižot pārlūkprogrammu. Ja norādīts, screenWidth jānorāda arī.
screenWidth vesels skaitlis Neobligāts. Ekrāna platums, kas jāizmanto, palaižot pārlūkprogrammu. Ja norādīts, screenHeight jānorāda arī.

environmentVariables

Dažādu veidu vērtības var saglabāt kā vides vērtības, taču visbiežāk sastopamais gadījums ir akreditācijas datu informācijas glabāšana lietotāju sarakstā.

Lietotājiem

Lai nodrošinātu, ka akreditācijas dati tiek glabāti drošā veidā, testa definīcija atsaucas uz lietotājiem, izmantojot .personaName Akreditācijas datu glabāšana testa plāna failos netiek atbalstīta.

Piemērs:

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

Tiek personaName izmantots kā daļa no testa definīcijas, lai norādītu, kādam lietotājam jāizpilda tests.

Atbalstītie akreditācijas datu glabāšanas mehānismi

Lai saglabātu akreditācijas datus kā vides mainīgos, tos var iestatīt šādi:

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

YAML ir jādefinē divi rekvizīti, lai norādītu, ka šī lietotāja akreditācijas dati tiek glabāti vides mainīgajos:

  • emailKey: vides mainīgais, ko izmanto lietotāja e-pasta glabāšanai.

YAML piemērs:

    - personaName: "User1"
      emailKey: "user1Email"

PowerShell piemērs, lai iestatītu lietotāja akreditācijas datus, pamatojoties uz YAML:

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

Skatīt arī

Power Apps testa programmas pārskats (priekšskatījums)
Power Apps testa programmas Power Fx funkcijas (priekšskatījums)