Nota
L'accés a aquesta pàgina requereix autorització. Pots provar d'iniciar sessió o canviar de directori.
L'accés a aquesta pàgina requereix autorització. Pots provar de canviar directoris.
Nota
Les característiques de visualització prèvia no estan dissenyades per a un entorn de producció i poden tenir una funcionalitat restringida. Aquestes característiques estan disponibles abans d’un llançament oficial de producte per tal que els clients el puguin utilitzar abans i enviar-nos els seus comentaris.
Les proves es defineixen en YAML seguint les mateixes directrius que el Power Fx. Obteniu més informació sobre la gramàtica de la fórmula YAML del Power Fx.
Visualitzeu la carpeta PowerApps-TestEngine/samples per obtenir exemples detallats.
Definicions d'esquema YAML
| Propietat | Descripció |
|---|---|
| Suite de proves | Defineix un conjunt de proves, els casos de prova del conjunt de proves i la configuració específica del conjunt de proves |
| Configuració de prova | Defineix la configuració del conjunt de proves que es reutilitza en diversos casos de prova |
| Variables d'entorn | Defineix variables que poden canviar a mesura que l'aplicació es porta a diferents entorns |
Suite de proves
S'utilitza per definir una prova.
| Propietat | Type | Descripció |
|---|---|---|
persona |
cadena | Obligatori. L'usuari que ha iniciat la sessió per realitzar la prova. Ha de coincidir amb una persona que apareix a la secció Usuaris . |
testCases |
Casos de prova | Obligatori. Defineix els casos de prova al conjunt de proves. Els casos de prova continguts en els conjunts de proves s'executen seqüencialment. L'estat de l'aplicació es manté en tots els casos de prova d'un conjunt. |
testSuiteName |
cadena | Obligatori. El nom del conjunt de proves. |
appLogicalName |
cadena | Opcional. El nom lògic de l'aplicació que s'ha d'iniciar. Es pot obtenir de la solució. Per a les aplicacions de llenç, heu d'afegir-lo a una solució per obtenir-lo. Vegeu Com identificar la vostra aplicació al pla de prova |
appId |
Guid | Opcional. L'identificador de l'aplicació que s'ha d'iniciar. Obligatori i només s'utilitza quan appLogicalName no hi és. L'identificador d'aplicació només s'ha d'utilitzar per a les aplicacions de llenç que no es troben a la solució. Vegeu Com identificar la vostra aplicació al pla de prova |
networkRequestMocks |
Simulacres de sol·licitud de xarxa | Opcional. Defineix els simulacres de sol·licitud de xarxa necessaris per a la prova. |
onTestCaseComplete |
cadena | Opcional. Defineix els passos que s'han d'activar per a cada cas de prova d'un conjunt un cop finalitzat l'execució del cas. |
onTestCaseStart |
cadena | Opcional. Defineix els passos que s'han d'activar per a cada cas de prova d'un conjunt abans que el cas comenci a executar-se. |
onTestSuiteComplete |
cadena | Opcional. Defineix els passos que s'han d'activar després que la suite acabi d'executar-se. |
testSuiteDescription |
cadena | Opcional. La informació addicional descriu el que fa el conjunt de proves. |
Com identificar la teva aplicació al pla de proves
Heu d'establir o appLogicalNameappId per identificar la vostra aplicació. El que utilitzeu depèn de si l'aplicació està definida dins d'una solució.
Aplicacions basades en solucions (recomanat)
Quan definiu les aplicacions dins de solucions, les proves es mantenen portàtils entre entorns. Definiu la appLogicalName propietat per indicar que l'aplicació està basada en solucions.
Per localitzar el nom lògic de l'aplicació:
- Obriu la solució que conté l'aplicació al Power Apps
- Utilitzeu el nom (no el nom de visualització) a la llista. El valor name inclou el prefix de personalització per a l'editor de solucions.
Aplicacions independents
Quan l'aplicació no està definida dins d'una solució, heu d'utilitzar la appId propietat.
Per localitzar l'identificador de l'aplicació:
- Localitzar l'aplicació a la llista del Power Apps
- Obriu Detalls i anoteu el GUID de l'identificador de l'aplicació
Simulacres de sol·licitud de xarxa
| Propietat | Type | Descripció |
|---|---|---|
requestURL |
cadena | Obligatori. L'URL de la sol·licitud que rep una resposta simulada. S'accepten patrons globals |
responseDataFile |
cadena | Obligatori. Un fitxer de text amb el contingut de la resposta simulada. Tot el text d'aquest fitxer es llegeix com a resposta |
headers |
matriu | Opcional. Llista dels camps de capçalera de la sol·licitud en el format de [fieldName: fieldValue] |
method |
cadena | Opcional. El mètode de la sol·licitud (GET, POST, etc.) |
requestBodyFile |
cadena | Opcional. Un fitxer de text amb el cos de la sol·licitud. Tot el text d'aquest fitxer es llegeix com a cos de la sol·licitud |
Per a les propietats opcionals, si no s'especifica cap valor, l'encaminament s'aplica a tots. Per exemple, si method és nul, enviem la resposta simulada sigui quin sigui el mètode, sempre que les altres propietats coincideixin.
Per a les aplicacions requestURL del Sharepoint/Dataverse/Connector i method pot ser el mateix per a totes les sol·licituds.
x-ms-request-method i x-ms-request-url les capçaleres in podrien haver de ser configurades en aquest cas per identificar diferents sol·licituds.
Casos de prova
| Propietat | Type | Descripció |
|---|---|---|
testCaseName |
cadena | Obligatori. El nom del cas de prova que s'utilitza per informar d'èxit i error |
testSteps |
Passos de prova | Obligatori. Conjunt de funcions de Power Fx que descriuen els passos necessaris per realitzar el cas de prova. Vegeu l'exemple de TestSteps |
testCaseDescription |
No | Opcional. Informació addicional descriu el que fa el cas de prova |
Passos de prova
-
TestStepspot utilitzar qualsevol funció de funció de Power Fx del motor de prova existent o funcions de prova específiques definides per aquest marc. - El valor ha de començar amb un símbol de barra vertical (
|) per permetre expressions YAML de diverses línies seguit d'un signe igual (=) per indicar que és una expressió del Power Fx - Les funcions han d'estar separades per un punt i coma (
;). - Els comentaris es poden utilitzar i han de començar amb caràcters de barra invertida doble (
//).
Exemple de 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");
Configuració de prova
S'utilitza per definir la configuració de les proves del pla de prova.
| Propietat | Type | Descripció |
|---|---|---|
browserConfigurations |
Configuració del navegador[modifica] | Obligatori. Una llista de configuracions del navegador que s'han de provar. S'ha d'especificar com a mínim un navegador. |
extensionModules |
extensionMòduls | Opcional. Conté dades sobre les extensions que s'han d'habilitar. |
filePath |
cadena | Opcional. El camí del fitxer a un fitxer yaml separat amb tots els paràmetres de prova. Si es proporciona, substituirà tots els paràmetres de prova del pla de prova. |
headless |
boolean | Opcional. El valor per defecte és cert. Si es defineix com a false, el navegador es mostra durant l'execució de la prova. |
locale |
cadena | Opcional. Sintaxi de configuració regional i cultura en què s'escriuen els casos de prova o els passos de prova. Si no s'especifica, CultureInfo.CurrentCulture s'utilitza per a la configuració regional per defecte per analitzar els passos de prova. Vegeu Consideracions sobre la regió i l'idioma |
recordVideo |
boolean | Opcional. Per defecte és false. Si s'estableix com a true, es captura una gravació de vídeo de la prova. |
timeout |
enter | Opcional. Valor de temps d'espera en mil·lisegons. El valor predeterminat és 30.000 mil·lisegons (30 segons). Si alguna operació triga més que el límit de temps d'espera, finalitza la prova en un error. |
powerFxTestTypes |
name
value parell |
Opcional. Una llista de noms de tipus i definicions de tipus del Power Fx. Vegeu l'exemple de powerFxTestTypes |
testFunctions |
description
code parell |
Opcional. Una llista de descripcions i definicions de funcions de Power Fx. Vegeu l'exemple de testFunctions |
extensionMòduls
Conté dades sobre les extensions que s'han d'habilitar.
| Propietat | Type | Descripció |
|---|---|---|
enable |
bool | Si els mòduls d'extensió estan hhabilitats o no. |
allowPowerFxNamespaces |
llista | Llista dels espais de noms del PowerFx que s'han d'habilitar. |
parameters |
Parells valor-clau | Propietats amb valors per controlar mòduls d'extensió. En aquest moment, només el paràmetre booleà enableDataverseFunctions és vàlid per a això. |
En aquest exemple es mostra com habilitar l'espai de noms PowerFx Preview :
testSettings:
extensionModules:
enable: true
allowPowerFxNamespaces:
- Preview
Més informació sobre les funcions de visualització prèvia
Consideracions sobre la regió i l'idioma
El Test Engine admet diverses configuracions d'idioma i regionals, com ara separadors decimals i de llista. La testSettings.locale propietat controla aquests comportaments. Per obtenir més informació, vegeu Suport global al Microsoft Power Fx.
Mireu aquestes configuracions d'exemple al repositori de GitHubPowerApps-TestEngine:
- Per a regions que utilitzen punt i coma com a separadors de llista
- Per a regions que utilitzen comes com a separadors decimals
Exemple de powerFxTestTypes
powerFxTestTypes:
- name: ControlName
value: |
{ControlName: Text}
- name: Options
value: |
[{Name: Text, Value: Number}]
En aquest exemple es mostra com definir tipus de Power Fx personalitzats per utilitzar-los en els casos de prova. El ControlName tipus es defineix com un registre amb un sol Text camp, mentre que el Options tipus es defineix com una taula de registres, cadascun dels quals conté un Name camp de tipus Text i un Value camp de tipus Number. Els tipus personalitzats es poden utilitzar per crear escenaris de prova més complexos i específics, millorant la flexibilitat i la potència de les definicions de prova.
Exemple de testFunctions
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);
Aquests exemples de funcions de prova demostren com definir funcions personalitzades del Power Fx per utilitzar-les en els casos de prova. La WaitUntilVisible funció utilitza un selector DOM per esperar fins que un control especificat sigui visible, utilitzant accions de Playwright. La funció GetOptions recupera les opcions d'un control especificat d'una aplicació basada en models (MDA), utilitzant el control Power Fx. Aquestes funcions personalitzades milloren la flexibilitat i la potència de les definicions de prova, permetent escenaris de prova més complexos i específics.
Configuració del navegador
Cada testSettings requereix almenys un BrowserConfiguration.
| Propietat | Type | Descripció |
|---|---|---|
browser |
cadena | Obligatori. El navegador que s'ha d'iniciar durant la prova. Hauria de coincidir amb els navegadors compatibles amb Playwright. |
device |
cadena | Opcional. El dispositiu a emular en iniciar el navegador. Ha de coincidir amb els dispositius compatibles amb Playwright |
screenHeight |
enter | Opcional. L'alçada de la pantalla que s'utilitzarà en iniciar el navegador. Si s'especifica, screenWidth també s'ha d'especificar. |
screenWidth |
enter | Opcional. L'amplada de la pantalla que s'utilitzarà en iniciar el navegador. Si s'especifica, screenHeight també s'ha d'especificar. |
Variables d'entorn
Podeu emmagatzemar diferents tipus de valors com a valors ambientals, però el cas més comú és emmagatzemar informació de credencials amb una llista d'usuaris.
Usuaris
Per garantir que les credencials s'emmagatzemin de manera segura, la definició de prova fa referència als usuaris que utilitzen un personaName. No s'admet l'emmagatzematge de credencials als fitxers del pla de prova.
Exemple:
environmentVariables:
- users:
- personaName: "User1"
emailKey: "user1Email"
- personaName: "User2"
emailKey: "user2Email"
El personaName s'utilitza com a part de la definició de prova per indicar com a quin usuari s'ha d'executar la prova.
Mecanismes d'emmagatzematge de credencials admesos
Per emmagatzemar les credencials com a variables d'entorn, podeu definir-les de la següent manera:
# In PowerShell - replace variableName and variableValue with the correct values
$env:variableName = "variableValue"
A la YAML, cal definir dues propietats per indicar que les credencials d'aquest usuari s'emmagatzemen en variables d'entorn:
-
emailKey: La variable d'entorn que s'utilitza per emmagatzemar el correu electrònic de l'usuari.
Exemple YAML:
- personaName: "User1"
emailKey: "user1Email"
Exemple de PowerShell per definir credencials d'usuari basades en YAML:
$env:user1Email = "someone@example.com"
Consulteu també
Informació general del motor de proves del Power Apps (visualització prèvia)
Power Apps Funcions del motor Power Fx de prova (visualització prèvia)