Format YAML de Power Apps Test Engine (version préliminaire)
[Cette rubrique fait partie de la documentation en version préliminaire et peut faire l'objet de modifications.]
Les tests sont définis au format YAML en suivant les mêmes directives que Power Fx. En savoir plus sur la grammaire de la formule YAML de Power Fx.
Consultez le dossier PowerApps-TestEngine/samples pour obtenir des exemples détaillés.
Définition du schéma YAML
Propriété | Description |
---|---|
testSuite | Définit une suite de tests, les cas de test dans la suite de tests et la configuration spécifique à la suite de tests |
testSettings | Définit les paramètres de la suite de tests qui sont réutilisés dans plusieurs cas de test |
environmentVariables | Définit les variables qui peuvent potentiellement changer lorsque l’application est portée dans différents environnements |
testSuite
Utilisé pour définir un test.
Définition du schéma YAML de test
Propriété | Obligatoire | Description |
---|---|---|
testSuiteName |
Oui | Nom de la suite de tests |
testSuiteDescription |
Non | Les informations supplémentaires décrivent ce que fait la suite de tests |
persona |
Oui | Utilisateur connecté pour effectuer le test. Doit correspondre à une personne répertoriée dans la section Utilisateurs |
appLogicalName |
Oui | Nom logique de l’application qui doit être lancée. Il peut être obtenu à partir de la solution. Pour les applications canevas, vous devez l’ajouter à une solution pour l’obtenir |
appId |
Non | ID de l’application qui doit être lancée. Requis et utilisé uniquement lorsque le nom logique de l’application n’est pas présent. L’ID d’application doit être utilisé uniquement pour les applications canevas qui ne font pas partie de la solution |
networkRequestMocks |
Non | Définit les simulations de demande réseau nécessaires pour le test |
testCases |
Oui | Définit les cas de test dans la suite de tests. Les cas de test contenus dans les suites de tests sont exécutés de manière séquentielle. L’état de l’application persiste entre chacun des cas de test d’une suite |
onTestCaseStart |
Non | Définit les étapes qui doivent être déclenchées pour chaque cas de test d’une suite avant que le cas ne commence à s’exécuter |
onTestCaseComplete |
Non | Définit les étapes qui doivent être déclenchées pour chaque cas de test d’une suite à la fin de l’exécution du cas |
onTestSuiteComplete |
Non | Définit les étapes qui doivent être déclenchées à la fin de l’exécution de la suite |
test NetworkRequestMocks
Propriété | Obligatoire | Description |
---|---|---|
requestURL |
Oui | URL de la demande qui obtient une réponse fictive. Les modèles Glob sont acceptés |
responseDataFile |
Oui | Fichier texte avec le contenu de la réponse fictive. Tout le texte de ce fichier est lu comme la réponse |
method |
Non | Méthode de la demande (GET, POST, etc.) |
headers |
Non | Liste de champs d’en-tête dans la demande au format [fieldName : fieldValue] |
requestBodyFile |
Non | Fichier texte avec le corps de la demande. Tout le texte de ce fichier est lu comme le corps de la demande |
Pour les propriétés facultatives, si aucune valeur n’est spécifiée, le routage s’applique à toutes les propriétés. Par exemple, si method
a la valeur null, nous renvoyons la réponse fictive quelle que soit la méthode, tant que toutes les autres propriétés correspondent.
Pour SharePoint/Dataverse/Applications du connecteur, requestURL
et method
peuvent être identiques pour toutes les demandes. x-ms-request-method
et x-ms-request-url
dans les en-têtes doivent être configurés dans ce cas pour identifier différentes demandes.
test TestCases
Propriété | Requise | Description |
---|---|---|
testCaseName |
Oui | Nom du cas de test, qui est utilisé pour indiquer que l’opération a réussi ou échoué |
testCaseDescription |
Non | Les informations supplémentaires décrivent ce que fait le cas de test |
testSteps |
Oui | Ensemble de fonctions Power Fx qui décrivent les étapes nécessaires pour réaliser le cas de test |
test TestSteps
- Ce paramètre peut utiliser n’importe quelle Fonction Power Fx de Test Engine existante ou des fonctions de test spécifiques définies par ce framework.
- Il doit commencer par
|
pour autoriser les expressions YAML multilignes, suivi d’un signe=
pour indiquer qu’il s’agit d’une expression Power Fx - Les fonctions doivent être séparées par
;
- Les commentaires peuvent être utilisés et doivent commencer par
//
testSettings
Utilisé pour définir les paramètres des tests dans le plan de test.
Définition du schéma YAML de testSettings
Propriété | Obligatoire | Description |
---|---|---|
locale |
Oui | Syntaxe des paramètres régionaux ou de la culture dans laquelle les cas de test ou les étapes de test sont écrits. Voir Support global dans Microsoft Power Fx pour obtenir plus d’informations. Si ce paramètre n’est pas spécifié, CultureInfo.CurrentCulture est utilisé par défaut pour les paramètres régionaux pour analyser les étapes de test. |
browserConfigurations |
Oui | Liste de configurations du navigateur à tester. Au moins un navigateur doit être spécifié. |
recordVideo |
Non | La valeur par défaut est false. Si elle est définie sur true, un enregistrement vidéo du test est capturé. |
headless |
Non | La valeur par défaut est true. Si elle est définie sur false, le navigateur s’affiche lors de l’exécution du test. |
timeout |
Non | Valeur de délai d’expiration en millisecondes. La valeur par défaut est 30 000 millisecondes (30 s). Si une opération prend plus de temps que le délai d’expiration, le test se termine par un échec. |
filePath |
Non | Chemin d’accès à un fichier yaml distinct avec tous les paramètres de test. Si ce paramètre est fourni, il remplace tous les paramètres de test du plan de test. |
Configuration du navigateur de testSettings
Propriété | Obligatoire | Description |
---|---|---|
browser |
Oui | Navigateur à lancer lors du test. Doit correspondre aux navigateurs pris en charge par Playwright. |
device |
Non | Appareil à émuler lors du lancement du navigateur. Doit correspondre aux appareils pris en charge par Playwright |
screenHeight |
Non | Hauteur de l’écran à utiliser lors du lancement du navigateur. Si ce paramètre est spécifié, screenWidth doit également être spécifié. |
screenWidth |
Non | Largeur de l’écran à utiliser lors du lancement du navigateur. Si ce paramètre est spécifié, screenHeight doit également être spécifié. |
Utilisateurs
Pour garantir que les informations d’identification sont stockées de manière sécurisée, la définition de test réfèrence les utilisateurs en utilisant un nom de personne. Le stockage des informations d’identification dans les fichiers du plan de test n’est pas pris en charge.
Les références aux informations d’identification de l’utilisateur se trouvent sous la section environmentVariables
sous la forme d’une liste de users
Exemple :
environmentVariables:
- users:
- personaName: "User1"
emailKey: "user1Email"
passwordKey: "user1Password"
- personaName: "User2"
emailKey: "user2Email"
passwordKey: "user2Password"
Le paramètre personaName
est utilisé dans le cadre de la définition du test pour indiquer sous quel utilisateur exécuter le test.
Mécanismes de stockage des informations d’identification pris en charge
Notes
L’authentification multifacteur n’est pas prise en charge.
Variables d’environnement
Pour stocker les informations d’identification en tant que variables d’environnement, vous pouvez les définir comme suit :
# <a name="in-powershell---replace-variablename-and-variablevalue-with-the-correct-values"></a>In PowerShell - replace variableName and variableValue with the correct values
$env:variableName = "variableValue"
Dans le YAML, deux propriétés doivent être définies pour indiquer que les informations d’identification de cet utilisateur sont stockées dans des variables d’environnement :
emailKey
: la variable d’environnement utilisée pour stocker l’email de l’utilisateur.passwordKey
: la variable d’environnement utilisée pour stocker le mot de passe de l’utilisateur.
Exemple de YAML :
- personaName: "User1"
emailKey: "user1Email"
passwordKey: "user1Password"
Exemple de PowerShell pour définir les informations d’identification de l’utilisateur basées sur YAML :
$env:user1Email = "someone@example.com"
$env:user1Password = "fake password"
Voir aussi
Vue d’ensemble de Power Apps Test Engine (version préliminaire)
Fonctions Power Fx de Power Apps Test Engine (version préliminaire)
Notes
Pouvez-vous nous indiquer vos préférences de langue pour la documentation ? Répondez à un court questionnaire. (veuillez noter que ce questionnaire est en anglais)
Le questionnaire vous prendra environ sept minutes. Aucune donnée personnelle n’est collectée (déclaration de confidentialité).