Napomena
Za pristup ovoj stranici potrebna je autorizacija. Možete se pokušati prijaviti ili promijeniti direktorije.
Za pristup ovoj stranici potrebna je autorizacija. Možete pokušati promijeniti direktorije.
Napomena
Značajke pretpregleda nisu namijenjene u proizvodne svrhe i mogu imati ograničene funkcije. Te su značajke dostupne prije službenog izdavanja da bi se klijentima omogućio prijevremeni pristup i slanje povratnih informacija.
Testovi su definirani u servisu YAML prema istim smjernicama kao i Power Fx. Saznajte više o gramatiki za formule dodatka Power Fx YAML.
Detaljne primjere potražite u mapi PowerApps-TestEngine/samples .
Definicije YAML sheme
| Svojstvo | Opis |
|---|---|
| testSuite | Definira jedan testni paket, testne slučajeve u paketu za testiranje i konfiguraciju specifičnu za testni paket. |
| testSettings | Definira postavke za testni paket koji se ponovno iskoristi u više testnih slučajeva |
| environmentVariables | Definira varijable koje bi se mogle promijeniti jer je aplikacija prenesena u različitim okruženjima |
testSuite
Koristi se za definiranje jednog testa.
| Svojstvo | Tip | Opis |
|---|---|---|
persona |
niz | Obvezno. Korisnik koji je prijavljen radi izvođenja testa. Mora se podudarati s osobom navedenom u odjeljku Korisnici. |
testCases |
Probna slova | Obvezno. Definira slučajeve testiranja u paketu za testiranje. Slučajevi testova sadržani u kompletima testova izvode se određenim redoslijedom. Stanje aplikacije zadržava se u svim testima paketa. |
testSuiteName |
niz | Obvezno. Naziv testnog paketa. |
appLogicalName |
niz | Nije obavezno. Logički naziv aplikacije koja će se pokrenuti. Može se dobiti iz rješenja. Za aplikacije platna morate ga dodati u rješenje da biste ga pribavljali. Pogledajte članak Kako prepoznati aplikaciju u testnu tarifu |
appId |
GUID | Nije obavezno. ID aplikacije koja će se pokrenuti. Obavezno i koristi se samo appLogicalName kada nije prisutno. ID aplikacije smije se koristiti samo za aplikacije platna koje nisu u rješenju. Pogledajte članak Kako prepoznati aplikaciju u testnu tarifu |
networkRequestMocks |
NetworkRequestMocks | Nije obavezno. Definira modele mrežnih zahtjeva potrebne za testiranje. |
onTestCaseComplete |
niz | Nije obavezno. Definira korake koje je potrebno pokrenuti za svaki testni slučaj u paketu nakon završetka izvršavanja slučaja. |
onTestCaseStart |
niz | Nije obavezno. Definira korake koje je potrebno pokrenuti za svaki testni slučaj u paketu prije početka izvršavanja slučaja. |
onTestSuiteComplete |
niz | Nije obavezno. Definira korake koje je potrebno pokrenuti nakon dovršetka izvršavanja paketa. |
testSuiteDescription |
niz | Nije obavezno. Dodatne informacije opisuju funkcije paketa za testiranje. |
Kako prepoznati aplikaciju u planu testiranja
Morate postaviti ili da appLogicalName biste appId prepoznali aplikaciju. Koje koristite ovisi o tome je li aplikacija definirana u rješenju.
Aplikacije utemeljene na rješenju (preporučeno)
Kada definirate aplikacije u sklopu rješenja, testovi ostaju prijenosni u različitim okruženjima. Postavite appLogicalName svojstvo da biste naznačili da se aplikacija temelji na rješenju.
Da biste pronašli logički naziv aplikacije:
- Otvorite rješenje koje sadrži aplikaciju u aplikaciji Power Apps
- Na popisu koristite ime ( ne zaslonsko ime). Vrijednost naziva obuhvaća prefiks prilagodbe za izdavača rješenja.
Samostalne aplikacije
Kada aplikacija nije definirana u rješenju, morate koristiti to appId svojstvo.
Da biste pronašli ID aplikacije:
- Pronađite aplikaciju na popisu aplikacija Power Apps
- Otvorite Pojedinosti i zabilježite GUID ID-a aplikacije
NetworkRequestMocks
| Svojstvo | Tip | Opis |
|---|---|---|
requestURL |
niz | Obvezno. URL zahtjeva koji dobiva lažni odgovor. Prihvaćaju se glob uzorci |
responseDataFile |
niz | Obvezno. Tekstna datoteka sa sadržajem lažnih odgovora. Sav tekst u ovoj datoteci čita se kao odgovor |
headers |
polje | Nije obavezno. Popis polja zaglavlja u zahtjevu u obliku polja [fieldName: fieldValue] |
method |
niz | Nije obavezno. Način zahtjeva (GET, POST itd.) |
requestBodyFile |
niz | Nije obavezno. Tekstna datoteka s tijelom zahtjeva. Sav tekst u ovoj datoteci čita se kao tijelo zahtjeva |
Za neobavezna svojstva, ako nije navedena nijedna vrijednost, usmjeravanje se primjenjuje na sve. Na primjer, ako method ima vrijednost null, šaljemo natrag lažni odgovor bez obzira na to koja je metoda sve dok se druga svojstva podudaraju.
Za aplikacije Sharepoint/Dataverse/Connector i requestURLmethod mogu biti iste za sve zahtjeve.
x-ms-request-method a x-ms-request-url u zaglavljima je u tom slučaju potrebno konfigurirati da bi se prepoznali različiti zahtjevi.
Probna slova
| Svojstvo | Tip | Opis |
|---|---|---|
testCaseName |
niz | Obvezno. Naziv testnog slučaja koji se koristi za izvješćivanje o uspjehu i neuspjehu |
testSteps |
TestSteps (TestSteps) | Obvezno. Skup funkcija dodatka Power Fx kojima se opisuju koraci potrebni za izvođenje testnog slučaja. Pogledajte primjer TestSteps |
testCaseDescription |
Ne | Nije obavezno. Dodatne informacije opisuju funkciju testnog slučaja |
TestSteps (TestSteps)
-
TestStepsmože koristiti postojeće funkcije dodatka Power Fx modula za testiranje ili određene testne funkcije definirane ovim okvirom. - Vrijednost bi trebala započinjanje simbolom kanala (
|) da bi se omogućili višelineni YAML izrazi nakon kojih slijedi znak jednakosti (=) koji označava da se radi o izrazu Power Fx - Funkcije treba odvojiti točkom sa zarezom (
;). - Komentari se mogu koristiti i započinju dvostrukim znakovima obrnene kose crte (
//).
Primjer TestSteps
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
Koristi se za definiranje postavki testova u planu testiranja.
| Svojstvo | Tip | Opis |
|---|---|---|
browserConfigurations |
BrowserConfiguration[] | Obvezno. Popis konfiguracija preglednika koje je potrebno testirati. Potrebno je navesti barem jedan preglednik. |
extensionModules |
stili proširenja | Nije obavezno. Sadrži podatke o proširenjima za omogućivanje. |
filePath |
niz | Nije obavezno. Put datoteke do zasebne yaml datoteke sa svim testnim postavkama. Ako se to naveli, nadjačat će sve postavke testa u planu testiranja. |
headless |
boolean | Nije obavezno. Zadano je true. Ako je postavljeno na false, preglednik će se prikazati tijekom izvršavanja testa. |
locale |
niz | Nije obavezno. Sintaksa regionalne sheme/kulture u kojoj su napisani testni slučajevi ili testni koraci. Ako nije navedeno, po CultureInfo.CurrentCulture zadanom se koristi za regionalnu shemu za raščlanjivanje testnih koraka. Pogledajte Pitanja regije i jezika |
recordVideo |
boolean | Nije obavezno. Zadana je vrijednost neistinito. Ako je postavljeno na true, snima se videosnimka testa. |
timeout |
cijeli broj | Nije obavezno. Vrijednost prekoračenja vremena u milisekundama. Zadana je vrijednost 30 000 milisekundi (30s). Ako bilo koja operacija traje dulje od ograničenja prekoračenja vremena, test se završava kvarom. |
powerFxTestTypes |
name
value par |
Nije obavezno. Popis vrsta naziva i definicija vrste Power Fx. Pogledajte primjer powerFxTestTypes |
testFunctions |
description
code par |
Nije obavezno. Popis opisa i definicija funkcija Power Fx. Pogledajte primjer funkcije testFunctions |
stili proširenja
Sadrži podatke o proširenjima za omogućivanje.
| Svojstvo | Tip | Opis |
|---|---|---|
enable |
bool | Jesu li moduli proširenja omogućeni ili ne. |
allowPowerFxNamespaces |
popis | Popis prostora naziva za PowerFx koje želite omogućiti. |
parameters |
parovi vrijednosti ključa | Svojstva s vrijednostima za kontrolu modula proširenja. Trenutno je za to valjan samo enableDataverseFunctions Booleov parametar. |
U ovom se primjeru pokazuje kako omogućiti prostor za naziv značajke PowerFx Preview :
testSettings:
extensionModules:
enable: true
allowPowerFxNamespaces:
- Preview
Saznajte više o funkcijama pretpregleda
Pitanja regije i jezika
Modul za testiranje podržava različite jezične i regionalne postavke, kao što su decimalni razdjelnici i razdjelnici popisa. Svojstvo testSettings.locale upravlja tim ponašanjem. Dodatne informacije potražite u članku Globalna podrška za Microsoft Power Fx.
Pogledajte ove ogledne konfiguracije na PowerApps-TestEngine GitHub:
- Za područja koja kao razdjelnike popisa koriste točke sa zarezom
- Za područja koja kao decimalne razdjelnike koriste zareze
powerFxTestTypes example
powerFxTestTypes:
- name: ControlName
value: |
{ControlName: Text}
- name: Options
value: |
[{Name: Text, Value: Number}]
U ovom se primjeru pokazuje kako definirati prilagođene vrste dodatka Power Fx za upotrebu u testni slučajevima. Vrsta ControlName se definira kao zapis s jednim poljem, Text a Options vrsta je definirana kao tablica zapisa, svaka NameTextValue koja sadrži polje vrste i polje vrste .Number Prilagođene vrste mogu se koristiti za stvaranje složenih i specifičnih testnih scenarija, što poboljšava fleksibilnost i snagu definicija testa.
testFunctions example
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);
Ovi primjeri testnih funkcija pokazuju kako definirati prilagođene power fx funkcije koje će se koristiti u testni slučajevima. Funkcija WaitUntilVisible koristi DOM birač za čekanje da se određena kontrola vidi pomoću akcija Playwright. Funkcija GetOptions dohvaća mogućnosti za navedenu kontrolu iz aplikacije utemeljene na modelu (MDA) koja koristi kontrolu Power Fx. Te prilagođene funkcije poboljšavaju fleksibilnost i snagu definicija testa, što omogućuje složenije i specifičnije testne scenarije.
Konfiguracija preglednika
Svaki testSettings zahtijeva barem jedan BrowserConfiguration.
| Svojstvo | Tip | Opis |
|---|---|---|
browser |
niz | Obvezno. Preglednik koji će se pokrenuti prilikom testiranja. Mora odgovarati preglednicima koje podržava Playwright. |
device |
niz | Nije obavezno. Uređaj koji će se emulirati prilikom pokretanja preglednika. Mora odgovarati uređajima koje podržava Playwright |
screenHeight |
cijeli broj | Nije obavezno. Visina zaslona koji će se koristiti prilikom pokretanja preglednika. Ako je navedeno, screenWidth također se mora navesti. |
screenWidth |
cijeli broj | Nije obavezno. Širina zaslona koji će se koristiti prilikom pokretanja preglednika. Ako je navedeno, screenHeight također se mora navesti. |
environmentVariables
Kao vrijednosti zaštite okoliša možete pohraniti različite vrste vrijednosti, no najčešći je slučaj pohranjivanje podataka o vjerodajnicama s popisom korisnika.
korisnici
Da bi se vjerodajnice pohranjivati na siguran način, definicija testa poziva korisnike koji koriste personaName. Pohrana vjerodajnica u datotekama plana testiranja nije podržana.
Primjer:
environmentVariables:
- users:
- personaName: "User1"
emailKey: "user1Email"
- personaName: "User2"
emailKey: "user2Email"
Koristi personaName se kao dio definicije testa da bi se naznačio kao kojeg korisnika treba pokrenuti test.
Podržani mehanizmi pohrane vjerodajnica
Da biste pohranili vjerodajnice kao varijable okruženja, možete ih postaviti na sljedeći način:
# In PowerShell - replace variableName and variableValue with the correct values
$env:variableName = "variableValue"
U SERVISU YAML potrebno je definirati dva svojstva da bi se naznačilo da su vjerodajnice tog korisnika pohranjene u varijablama okruženja:
-
emailKey: varijabla okruženja koja se koristi za pohranu korisnikova e-pošte.
Primjer servisa YAML:
- personaName: "User1"
emailKey: "user1Email"
Primjer ljuske PowerShell za postavljanje korisničkih vjerodajnica na temelju servisa YAML:
$env:user1Email = "someone@example.com"
Pogledajte
Pregled testnog modula za Power Apps (pretpregled)
Power Apps Test Engine Power Fx funkcije (pretpregled)