Syntaxe de définition des tests
Le test est défini sous la forme d'un fichier YAML contenant les sections suivantes :
requirements: {}
info:
title: "New Configuration YAML File"
version: 2
configs:
globalVariables:
protocol: https://
domain: sample-api.us-east-a.apiconnect.automation.ibm.com
basePath: /bank
inputs:
- default:
value: string
type: array
- second:
value: number
type: string
steps:
- type: request
method: get
url: "{{ configs.globalVariables.protocol }}{{ domain }}{{ globalVariables.basePath }}/branches"
var: branches
mode: json
- type: assert-is
expression: branches
value: "{{ type }}"
- type: assert-exists
expression: branches.[1]
stoponfail: true
- type: assert-is
expression: branches.[0].type
value: string
stoponfail: true
- type: assert-is
expression: branches.[0].address.city
value: string
stoponfail: true
- type: assert-compares
expression1: branches.[0].type
expression2: branches.[7].type
- type: request
method: get
url: https://sample-api.us-east-a.apiconnect.automation.ibm.com/orders/order/AB1234
var: payload
mode: json
- type: assert-equals
expression: payload_response_statusCode
value: 200
ifexists: false
stoponfail: false
- type: assert-equals
expression: payload_response_header_Content-Type
value: application/json
- type: assert-in
expression: payload_response_header_Content-Type
values:
- application/json
- application/swagger+yaml
- type: assert-contains
expression: payload_response_header_Content-Type
value: app
- type: assert-matches
expression: payload_response_header_Content-Type
value: ^[a-z]+/json
- type: assert-exists
expression: "payload"
stoponfail: false
- type: assert-is
expression: "payload.tracking_reference"
value: "string"
ifexists: "false"
stoponfail: false
- type: assert-exists
expression: payload.shipped_at
stoponfail: false
- type: assert-exists
expression: payload.status
stoponfail: false
- type: assert-exists
expression: payload.created_at
stoponfail: false
Tableau 1. Résumé des paramètres pris en charge par l'attribut type
| Paramètres | Description | Sous-attributs |
|---|---|---|
| globalVariables | Les variables globales sont des paramètres qui restent cohérents pour l'ensemble du test et ne changent généralement pas d'une exécution à l'autre. | Vous pouvez définir ici n'importe quel attribut en fonction de vos besoins. Par exemple : - portocol : Spécifie le protocole (par exemple, https://) utilisé dans toutes les demandes, ce qui garantit une communication sécurisée.- domaine : Indique l'adresse du serveur principal pour les demandes d'API. - basepath : Définit le chemin de base pour tous les points d'extrémité de l'API (par exemple, /bank), qui est ajouté au domaine pour construire les URL des demandes. |
| entrées | Définit divers ensembles de paramètres d'entrée utilisés dans plusieurs scénarios de test. | Vous pouvez créer plusieurs ensembles de données avec tous les attributs nécessaires pour des scénarios de test spécifiques. Par exemple, les données par défaut et les données secondaires sont deux ensembles de données, chacun ayant ses propres attributs adaptés à différents scénarios. Note : Au moins un ensemble de données doit être présent pour exécuter le test. |
| Demande | Effectuez une demande http. | - méthode : Définit la méthode HTTP à utiliser. - url : Définit l'adresse URL à laquelle la requête doit être envoyée. - params : Définit la correspondance clé-valeur des paramètres à envoyer. - headers : Définit la correspondance des valeurs clés des en-têtes à envoyer. - var : Définit le nom de la variable dans laquelle la réponse doit être stockée. - mode : Définit le type de données attendu et la manière de les analyser (supporté : json). Par exemple : - type : request - method : get - url : https://sample-api.us-east-a.apiconnect.automation.ibm.com/bank/branches - var : branches - mode : json |
| affirmer est | Affirmer que le type de variable de la réponse est une valeur. | - expression : Définit la variable à tester. - valeur : Définit le type de réponse attendue. Par exemple : - type : assert-is expression : branches valeur : array |
| affirmer-exister | Affirme qu'une variable particulière spécifiée dans l'expression existe. | - expression : Définit la variable à tester. - stoponfail : Si l'un des tests échoue, l'attribut stoponfail arrête l'exécution des tests restants. Pour cela, la valeur de stoponfail doit être fixée à true. Par exemple : - type : assert-exists expression : branches.[1] stoponfail : true |
| assert-equals | Affirmer qu'une variable est égale à une valeur. | - expression : Définit la variable à tester. - value : Définit la valeur à comparer. Par exemple : - type : assert-equals expression : payload_response_header_Content-Type value : application/json |
| affirmer-augmenter | Affirmer que la variable est supérieure à la valeur. | - expression : Définit la variable à tester. - value : Définit la valeur à comparer. Par exemple : - type : assert-greater expression : payload_temperature value : application/json |
| sans affirmation | Affirmer que la variable est inférieure à la valeur. | - expression : Définit la variable à tester. - value : Définit la valeur à comparer. Par exemple : - type : assert-less expression : payload_temperature value : application/json |
| affirmer | Affirmer que l'élément identifié par une expression donnée correspond à au moins un élément d'une liste donnée. | - expression : Définit la variable à tester. - value : Définit un tableau de valeurs à comparer. Par exemple : - type : assert-in expression : payload_response_status value : application/json |
| assert-matches | Affirme que la valeur de l'élément identifié par une expression donnée correspond à un format spécifié. | - expression : Définit la variable à tester. - value : Définit la valeur de la regex à comparer. Par exemple : - type : assert-matches expression : payload_response_header_Content-Type value : [1] +/json |
| assert-compares | Affirmer que deux éléments sont équivalents d'une certaine manière. | - expression1: Définit le chemin vers le premier élément à comparer. - expression2: Définit le chemin vers le deuxième élément à comparer. Par exemple : - type : assert-compares expression1: branches.[0].type expression2: branches.[7].type |
| affirmer-contenir | Affirme que la valeur de l'élément identifié par une expression donnée contient une sous-chaîne spécifique. | - expression : Définit la variable à tester. - value : Définit la sous-chaîne à comparer. Par exemple : - type : assert-contains expression : payload_response_header_Content-Type value : app |
| pièce | Bouclez le tableau référencé dans l'expression en exécutant les sous-étapes pour chaque élément trouvé. | - expression : Définit la variable à tester. Par exemple : - type : each expression : " analytics.events " |
| si | Si la condition spécifiée (définie dans l'expression) est remplie, les assertions des étapes "if-condition" sont exécutées; dans le cas contraire, elles sont ignorées. | - expression : condition à tester - étapes : sous-étapes que l'ATM exécute si la condition est remplie Par exemple, - type: if expression: "{{payload_response_statusCode}} == 200" steps: - type: assert-is expression: "payload.tracking_reference" value: "string"stoponfail: false |
a-z ︎