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

  1. a-z