Passer au contenu principal

Comment exécuter par lots différentes variantes de votre scénario de test

Écrit par Ines
Mis à jour il y a plus d'un mois

Ce guide vous explique comment utiliser la fonctionnalité « Test Asset Batch » pour exécuter plusieurs fois le même scénario de test avec des données différentes : URL, navigateurs, identifiants ou toute autre variable utilisée par votre test.

Présentation

Avec Test Asset Batch, vous téléchargez un ou plusieurs fichiers CSV en tant que ressources de test. Chaque ligne du fichier CSV définit une variante unique de votre scénario de test. Lorsque vous déclenchez une exécution via l'API ou la plateforme Thunders, chaque ligne devient une exécution de test distincte, toutes regroupées sous un seul lot.

Ceci est idéal pour :

  • Tester le même flux sur plusieurs navigateurs ou appareils

  • Exécuter un test de connexion avec différentes identités d'utilisateur

  • Valider une page sur plusieurs URL

  • Tout scénario dans lequel vous souhaitez paramétrer votre scénario de test

Étape 1 : Créez votre fichier CSV

Créez un fichier CSV dans lequel chaque ligne représente une variante de test.

Il existe deux types de colonnes :

Colonnes de données

Il s'agit des colonnes dont les noms correspondent aux espaces réservés des variables dans votre scénario de test (sans les crochets [] ). Les valeurs remplacent les variables de votre scénario de test avec la priorité la plus élevée.

Par exemple, si votre étape de test indique :

Accédez à [ENVIRONMENT_URL] et connectez-vous avec [USERNAME]

Votre fichier CSV doit comporter des colonnes nommées ENVIRONMENT_URL et USERNAME:

ENVIRONMENT_URL,USERNAME
https://staging.example.com,alice
https://production.example.com,bob

Colonnes natives (remplacements de navigateur/environnement)

Les colonnes préfixées par _ remplacent les paramètres d'exécution ligne par ligne. Utilisez-les pour faire varier le navigateur, la résolution, l'environnement ou d'autres paramètres d'exécution d'une ligne à l'autre.

Colonne

Description

Exemples de valeurs

_rowname

Nom d'affichage de la ligne dans les résultats

Connexion Chrome, Safari mobile

_browserType

Moteur de navigation

Chromium, Chrome, Firefox, Safari

_resolution

Taille de la fenêtre d'affichage

1920x1080, 375x812

_type d'appareil

Catégorie d'appareil

Ordinateur de bureau, Mobile, Tablette

_deviceName

Appareil spécifique

iPhone 14, Pixel 7

_location

Géolocalisation du navigateur

ParisSelfHosted

_locale

Langue du navigateur

en-US, fr-FR, de-DE

_darkTheme

Mode sombre

true, false

_javascript

JavaScript activé

vrai, faux

_ignoreHttpsErrors

Ignorer la validation HTTPS

vrai, faux

_avoidDetection

Mode furtif

vrai, faux

_deviceScaleFactor

Densité de pixels

1, 2, 3

_forcedColors

Mode couleur forcé

actif, aucun

_username

Nom d'utilisateur d'authentification HTTP

admin

_password

Mot de passe d'authentification HTTP

secret123

_proxy

Serveur proxy

_highlightElements

Mettre en évidence les actions

vrai, faux

_environmentId

Remplacer l'environnement

UUID de l'environnement

_personaId

Remplacer le persona

UUID du persona

Exemple complet de fichier CSV

Voici un fichier CSV qui teste un flux de connexion sur 3 navigateurs avec différents utilisateurs :

ENVIRONMENT_URL,USERNAME,PASSWORD,_rowname,_browserType,_resolution
https://app.example.com/login,alice,pass123,Chrome Desktop,Chrome,1920x1080
https://app.example.com/login,bob,pass456,Firefox Desktop,Firefox,1440x900
https://app.example.com/login,charlie,pass789,Safari Mobile,Safari,375x812

Cela génère 3 exécutions de test:

  1. Chrome Desktop — connexion en tant qu'alice sur Chrome en 1920x1080

  2. Firefox Desktop — connexion en tant que bob sur Firefox en 1440x900

  3. Safari Mobile — connexion en tant que charlie sur Safari en 375x812

Étape 2 : Importez le fichier CSV en tant que ressource de test

Téléchargez votre fichier CSV dans votre projet via l'application web Thunders :

  1. Ouvrez votre projet

  2. Accédez à l'onglet « Ressources de test »

  3. Cliquez sur « Upload » et sélectionnez votre fichier CSV

  4. Notez le nom de référence généré qui s'affiche dans la liste des ressources (par exemple, FILE_LOGINS_CSV)

Le nom de référence suit le modèle : FILE_<NOM_FICHIER>_<EXTENSION>

  • Le nom de fichier est en majuscules

  • Les tirets, espaces, points et parenthèses sont remplacés par des traits de soulignement

  • Les traits de soulignement consécutifs multiples sont réduits à un seul

Exemples :

  • logins.csv devient FILE_LOGINS_CSV

  • test-data.csv devient FILE_TEST_DATA_CSV

  • my users (v2).csv devient FILE_MY_USERS_V2_CSV

Étape 3 : Exécutez le Vatch

3.1) Via l'application Thunders avec des références aux ressources de test

En sélectionnant « À partir d'un fichier de données » dans la section « Données de test » :

3.2) Via l'API avec les références aux ressources de test

Ajoutez le champ testAssetReferences au corps de votre requête API lorsque vous appelez le point de terminaison /api/test-cases/run ou /api/test-sets/run:

{
"ProjectId": "c8e34ec4-2464-43c7-8db8-1b3a47a22337",
"TestCaseIds": [
"a836fadc-377a-46fe-96b0-21f37c626bf9"
],
"EnvironmentId": "eca24252-e566-40a8-b2b0-707b7efa85d8",
"PersonaId": "70d0ac52-fe94-4d89-aba9-8ef28dd8c04c",
"BrowserSettings": {
"Location": "ParisSelfHosted",
"browserType": "Chromium",
"DeviceType": "Desktop",
"Resolution": "1440x900"
},
"TestAssetReferences": ["FILE_LOGINS_CSV"]
}

Les paramètres BrowserSettings dans le corps de la requête servent de valeurs par défaut. Toute colonne native du fichier CSV (comme _browserType) remplace la valeur par défaut correspondante pour cette ligne spécifique.

Les références peuvent également être placées entre crochets : [FILE_LOGINS_CSV].

En-têtes

En-tête

Valeur

Autorisation

Bearer VOTRE_TOKEN_THUNDER_TEST

X-MS-API-ROLE

M2M

Type de contenu

application/json

Étape 4 : Combiner plusieurs fichiers CSV (facultatif)

Vous pouvez référencer plusieurs fichiers CSV dans une seule requête. Leurs lignes sont concaténées en un seul lot avec un indexage continu.

"TestAssetReferences": ["FILE_DESKTOP_BROWSERS_CSV", "FILE_MOBILE_DEVICES_CSV"]

Si desktop-browsers.csv comporte 3 lignes et mobile-devices.csv 2 lignes, le lot résultant contiendra 5 exécutions de test indexées de 1 à 5.

Cela est utile pour organiser vos données de test en groupes logiques (par exemple, un fichier CSV par catégorie d'appareils, un par région, un par rôle d'utilisateur).

Étape 5 : Examiner les résultats

Après l'exécution, chaque ligne du lot apparaît comme un test distinct dans l'onglet « Test Runs ». Vous pouvez identifier les exécutions par lots grâce à :

  • Nom de la ligne du lot: la valeur de la colonne _rowname (ou une valeur par défaut telle que 1/3, 2/3, 3/3 si aucun _rowname n'a été fourni)

  • Remplacements de données du lot: les valeurs des variables qui ont été injectées pour cette ligne spécifique

Tous les tests d'un même lot partagent un batchId, ce qui facilite le filtrage et le regroupement des résultats.

Exemple GitHub Actions

Voici un workflow GitHub Actions complet qui exécute un lot de variantes de test :

name: Run Thunders Batch Tests

on:
workflow_dispatch:

jobs:
run-batch-tests:
runs-on: ubuntu-latest
steps:
- name: Run Batch Test Variations
uses: fjogeleit/http-request-action@v1
with:
url: 'https://api.thunders.ai/api/test-cases/run'
method: 'POST'
customHeaders: >
{
"Authorization": "Bearer ${{ secrets.THUNDER_TEST_TOKEN }}",
"X-MS-API-ROLE": "M2M",
"Content-Type": "application/json"
}
data: >
{
"ProjectId": "c8e34ec4-2464-43c7-8db8-1b3a47a22337",
"TestCaseIds": ["a836fadc-377a-46fe-96b0-21f37c626bf9"],
"EnvironmentId": "eca24252-e566-40a8-b2b0-707b7efa85d8",
"PersonaId": "70d0ac52-fe94-4d89-aba9-8ef28dd8c04c",
"BrowserSettings": {
"Location": "ParisSelfHosted",
"browserType": "Chromium",
"DeviceType": "Desktop",
"Resolution": "1440x900"
},
"TestAssetReferences": ["FILE_LOGINS_CSV", "FILE_MOBILE_CSV"]
}

Référence rapide

Concept

Détails

Téléchargement CSV

Onglet « Test Assets » de votre projet

Format de référence

FILE__ (en majuscules, les caractères spéciaux sont remplacés par _)

Paramètre API

testAssetReferences (tableau de chaînes de caractères)

Colonnes natives

Ajouter le préfixe _ pour remplacer les paramètres du navigateur/de l'environnement

Colonnes de données

Pas de préfixe ; remplace les espaces réservés des variables de cas de test

Fichiers CSV multiples

Transmettre plusieurs références ; les lignes sont fusionnées séquentiellement

Regroupement par lots

Toutes les exécutions partagent un batchId

Nommage des lignes

Utilisez la colonne _rowname ou les valeurs par défaut index/total

Avez-vous trouvé la réponse à votre question ?