Notă
Accesul la această pagină necesită autorizare. Puteți încerca să vă conectați sau să modificați directoarele.
Accesul la această pagină necesită autorizare. Puteți încerca să modificați directoarele.
Notă
Caracteristicile în regim de previzualizare nu sunt destinate utilizării în producție și pot avea funcționalitate restricționată. Aceste caracteristici sunt disponibile înainte de lansarea oficială, astfel încât clienții să poată obține acces din timp și să poată oferi feedback.
Testele sunt definite în YAML urmând aceleași indicații ca Power Fx. Aflați mai multe despre gramatica formulei YAML Power Fx.
Vizualizați folderul PowerApps-TestEngine/samples pentru exemple detaliate.
Definiții schemă YAML
| Proprietate | Descriere |
|---|---|
| testSuite | Definește o suită de testare, cazurile de testare din suita de testare și configurația specifică suitei de testare |
| testSettings | Definește setările pentru suita de test care sunt reutilizate în mai multe cazuri de testare |
| environmentVariables | Definește variabile care ar putea modifica pe măsură ce aplicația este portată în diferite medii |
testSuite
Utilizat pentru a defini un test.
| Proprietate | Tip | Descriere |
|---|---|---|
persona |
string | Necesar Utilizatorul care este conectat pentru a efectua testul. Trebuie să corespundă unei persoane listate în secțiunea Utilizatori . |
testCases |
TestCases | Necesar Definește cazurile de testare din suita de testare. Cazurile de testare cuprinse în suitele de testare sunt executate secvențial. Starea aplicației este menținută în toate cazurile de testare dintr-o suită. |
testSuiteName |
string | Necesar Numele suitei de test. |
appLogicalName |
string | Opțional. Numele logic al aplicației care va fi lansată. Aceasta poate fi obținută din soluție. Pentru aplicațiile de pânză, trebuie să o adăugați la o soluție pentru a o obține. Consultați Cum să vă identificați aplicația în planul de test |
appId |
Guid | Opțional. ID-ul aplicației care va fi lansată. Obligatoriu și utilizat numai atunci când appLogicalName nu este prezent. ID-ul de aplicație trebuie utilizat doar pentru aplicațiile pânză care nu se află în soluție. Consultați Cum să vă identificați aplicația în planul de test |
networkRequestMocks |
NetworkRequestMocks | Opțional. Definește machetele de solicitare de rețea necesare pentru test. |
onTestCaseComplete |
string | Opțional. Definește pașii care trebuie declanșați pentru fiecare caz de test dintr-o suită după ce se termină executarea cazului. |
onTestCaseStart |
string | Opțional. Definește pașii care trebuie declanșați pentru fiecare caz de test dintr-o suită înainte ca cazul să înceapă executarea. |
onTestSuiteComplete |
string | Opțional. Definește pașii care trebuie declanșați după ce suita se termină de executat. |
testSuiteDescription |
string | Opțional. Informații suplimentare descrie ce face suita de testare. |
Cum să vă identificați aplicația în planul de test
Trebuie să setați una appLogicalName sau appId să identificați aplicația. Ceea ce utilizați depinde de definirea aplicației într-o soluție.
Aplicații bazate pe soluții (recomandat)
Atunci când definiți aplicațiile în cadrul soluțiilor, testele dvs. rămân portabile în medii.
appLogicalName Setați proprietatea pentru a indica faptul că aplicația este bazată pe soluție.
Pentru a găsi numele logic al aplicației:
- Deschideți soluția care conține aplicația dvs. în Power Apps
- Utilizați Numele (nu numele afișat) din listă. Valoarea numelui include prefixul de particularizare pentru editorul soluției.
Aplicații independente
Atunci când aplicația dvs. nu este definită într-o soluție, trebuie să utilizați appId proprietatea.
Pentru a găsi ID-ul aplicației:
- Găsiți aplicația în lista Power Apps
- Deschideți Detalii și notați GUID-ul ID-ului de aplicație
NetworkRequestMocks
| Proprietate | Tip | Descriere |
|---|---|---|
requestURL |
string | Necesar URL-ul solicitării care primește răspuns la machetă. Modelele glob sunt acceptate |
responseDataFile |
string | Necesar Un fișier text cu conținutul răspunsului la machetă. Tot textul din acest fișier este citit ca răspuns |
headers |
Matrice | Opțional. O listă de câmpuri antet din solicitare în formatul [numecâmp: fieldValue] |
method |
string | Opțional. Metoda solicitării (GET, POST etc.) |
requestBodyFile |
string | Opțional. Un fișier text cu corpul solicitării. Tot textul din acest fișier este citit ca corp de solicitare |
Pentru proprietăți opționale, dacă nu se specifică nicio valoare, rutarea se aplică pentru toate. De exemplu, dacă method este nul, trimitem înapoi răspunsul machetat indiferent de metodă este atât timp cât celelalte proprietăți se potrivesc.
Pentru aplicațiile requestURL Sharepoint/Dataverse/Connector și method pot fi aceleași pentru toate solicitările.
x-ms-request-method iar x-ms-request-url în anteturi ar putea fi necesar să fie configurate în acest caz pentru a identifica diferite solicitări.
TestCases
| Proprietate | Tip | Descriere |
|---|---|---|
testCaseName |
string | Necesar Numele cazului de test utilizat în raportarea succesului și eșecului |
testSteps |
TestSteps | Necesar Un set de funcții Power Fx care descriu pașii necesari pentru a efectua cazul de testare. Vedeți exemplul TestSteps |
testCaseDescription |
Nu | Opțional. Informații suplimentare descrie ce face cazul testului |
TestSteps
-
TestStepspot utiliza orice funcții existente Test Engine Power Fx sau anumite funcții de testare definite de acest cadru. - Valoarea trebuie să înceapă cu un simbol țeavă (
|) pentru a permite expresii YAML cu mai multe linii, urmate de un semn egal (=) pentru a indica faptul că este o expresie Power Fx - Funcțiile trebuie separate prin punct și virgulă (
;). - Comentariile pot fi utilizate și ar trebui să înceapă cu caractere bară oblică inversă dublă (
//).
TestSteps example
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
Utilizat pentru a defini setările pentru testele din planul de testare.
| Proprietate | Tip | Descriere |
|---|---|---|
browserConfigurations |
BrowserConfiguration[] | Necesar O listă de configurații de browser de testat. Trebuie specificat cel puțin un browser. |
extensionModules |
extensionModules | Opțional. Conține date despre extensii pentru activare. |
filePath |
string | Opțional. Calea de fișier către un fișier yaml separat cu toate setările de test. Dacă este furnizat, va înlocui toate setările de test din planul de testare. |
headless |
boolean | Opțional. Valoarea implicită este adevărată. Dacă este setată la fals, browserul se afișează în timpul executării testului. |
locale |
string | Opțional. Sintaxa regională/cultură în care sunt scrise cazurile sau pașii de test. Dacă nu este precizat, CultureInfo.CurrentCulture este utilizat implicit pentru setările regionale pentru analiza pașilor de test. Consultați Considerații legate de regiune și limbă |
recordVideo |
boolean | Opțional. Valoarea implicită este falsă. Dacă este setată la adevărat, este capturată o înregistrare video a testului. |
timeout |
întreg | Opțional. Valoarea de expirare în milisecunde. Valoarea implicită este de 30.000 milisecunde (30s). Dacă o operațiune durează mai mult decât limita de expirare, se termină testul printr-o eroare. |
powerFxTestTypes |
name
value pereche |
Opțional. O listă cu numele tipului și definițiile tipului Power Fx. Vedeți exemplul powerFxTestTypes |
testFunctions |
description
code pereche |
Opțional. O listă de descrieri și definiții de funcții Power Fx. Vedeți exemplul de testFuncții |
extensionModules
Conține date despre extensii pentru activare.
| Proprietate | Tip | Descriere |
|---|---|---|
enable |
Bool | Dacă sunt activate sau nu modulele de extensie. |
allowPowerFxNamespaces |
listă | Lista spațiilor de nume PowerFx de activat. |
parameters |
perechi de valori cheie | Proprietăți cu valori pentru a controla modulele extensiilor. În acest moment, doar parametrul boolean enableDataverseFunctions este valid pentru aceasta. |
Acest exemplu vă arată cum să activați spațiul de nume PowerFx Preview :
testSettings:
extensionModules:
enable: true
allowPowerFxNamespaces:
- Preview
Aflați mai multe despre funcțiile de previzualizare
Considerații legate de regiune și limbă
Motorul de test acceptă diverse setări lingvistice și regionale, cum ar fi separatori de zecimale și de listă. Proprietatea testSettings.locale controlează aceste comportamente. Pentru mai multe informații, consultați Asistență globală în Microsoft Power Fx.
Priviți aceste configurații eșantion pe depozitulPowerApps-TestEngine GitHub:
- Pentru regiunile care utilizează punct și virgulă ca separatori de listă
- Pentru regiunile care utilizează virgule ca separatori zecimali
powerFxTestTypes example
powerFxTestTypes:
- name: ControlName
value: |
{ControlName: Text}
- name: Options
value: |
[{Name: Text, Value: Number}]
Acest exemplu vă arată cum să definiți tipurile Power Fx particularizate de utilizat în cazurile de testare. Tipul ControlName este definit ca înregistrare cu un singur Text câmp, în timp ce Options tipul este definit ca tabel de înregistrări, fiecare conținând un Name câmp de tip Text și un Value câmp de tip Number. Tipurile particularizate pot fi utilizate pentru a crea scenarii de testare mai complexe și mai specifice, îmbunătățind flexibilitatea și puterea definițiilor de test.
testFuncții exemplu
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);
Aceste exemple de funcții de testare demonstrează modul de definire a funcțiilor Power Fx particularizate pentru utilizare în cazurile de testare. Funcția WaitUntilVisible utilizează un selector DOM pentru a aștepta până când este vizibil un control specificat, utilizând acțiuni Playwright. Funcția GetOptions preia opțiunile pentru un control specificat dintr-o aplicație Model Driven (MDA), utilizând controlul Power Fx. Aceste funcții particularizate îmbunătățesc flexibilitatea și puterea definițiilor de test, permițând scenarii de testare mai complexe și mai specifice.
BrowserConfiguration
Fiecare testSettings necesită cel puțin un BrowserConfiguration.
| Proprietate | Tip | Descriere |
|---|---|---|
browser |
string | Necesar Browserul care va fi lansat la testare. Ar trebui să corespundă browserelor acceptate de Playwright. |
device |
string | Opțional. Dispozitivul de emulat atunci când se lansează browserul. Ar trebui să corespundă dispozitivelor acceptate de Playwright |
screenHeight |
întreg | Opțional. Înălțimea ecranului de utilizat la lansarea browserului. Dacă se specifică, screenWidth trebuie specificat, de asemenea. |
screenWidth |
întreg | Opțional. Lățimea ecranului de utilizat la lansarea browserului. Dacă se specifică, screenHeight trebuie specificat, de asemenea. |
environmentVariables
Puteți stoca tipuri diferite de valori ca valori de mediu, dar cel mai comun caz este stocarea informațiilor de acreditare cu o listă de utilizatori.
Utilizatorii
Pentru a vă asigura că acreditările sunt stocate în siguranță, definiția de test face referire la utilizatori utilizând un personaName. Stocarea acreditărilor în fișierele plan de test nu este acceptată.
Exemplu:
environmentVariables:
- users:
- personaName: "User1"
emailKey: "user1Email"
- personaName: "User2"
emailKey: "user2Email"
Este personaName utilizat ca parte a definiției de test pentru a indica ce utilizator să ruleze testul ca.
Mecanisme de stocare a acreditărilor acceptate
Pentru a stoca acreditările ca variabile de mediu, le puteți seta astfel:
# In PowerShell - replace variableName and variableValue with the correct values
$env:variableName = "variableValue"
În YAML, trebuie definite două proprietăți pentru a indica faptul că acreditările acestui utilizator sunt stocate în variabile de mediu:
-
emailKey: Variabila de mediu utilizată pentru stocarea e-mailului utilizatorului.
Exemplu YAML:
- personaName: "User1"
emailKey: "user1Email"
Exemplu de PowerShell pentru a seta acreditările de utilizator pe baza YAML:
$env:user1Email = "someone@example.com"
Vezi și
Prezentare generală a motorului de testare Power Apps (previzualizare)
Funcțiile Power Fx ale motorului de testare Power Apps (previzualizare)