PC SOFT

GRUPOS DE DISCUSSÃO PROFISSIONAL
WINDEVWEBDEV e WINDEV Mobile

Inicio → WINDEV 2025 → Tests automatiques : Execution en boucle avec passage de paramètres.
Tests automatiques : Execution en boucle avec passage de paramètres.
Iniciado por Thierry STALDER, jan., 31 2026 6:45 AM - 11 respostas
Membro registado
14 mensagems
Publicado em janeiro, 31 2026 - 6:45 AM
Bonjour,

J'ai enregistré un test automatique d'une fenêtre. A l'ouverture de la fenêtre, il est attendu un paramètre (nNoValeurVersion) qui correspond à l'ID de l'enregistrement à afficher.

Lors de l'exécution du test, celui-ci prend en référence la valeur que j'avais indiqué lors du dernier GO de la fenêtre.

Je désire exécuter ce test 10X de suite avec à chaque fois un nouveau "nNoValeurVersion" différent. Malheureusement je ne trouve pas la solution, en effet et peut-être que je commet une erreur, même avec "TestAjouteItération" cela ne fonctionne pas.

Est-ce que l'un de vous, aurais-une solution pour effectuer ce test multiple?

Merci d'avance pour votre aide.

Thierry Stalder
Mensagem modificada, janeiro, 31 2026 - 6:50 AM
Membro registado
4.343 mensagems
Publicado em janeiro, 31 2026 - 2:38 PM
Bonjour,
as tu tenté de passer par un test unitaire qui utilise Ouvre(FEN_MaFenetre,MonParamètre) en utilisant TestAjouteItération
//Avant le test Scenario
TestAjouteItération(1)
TestAjouteItération(2)
...
TestAjouteItération(n)
//Scénario du test
Procedure MonScénario(pkParamTest est entier sur 8)
Ouvre(FEN_Connexion,pkParamTest)
//Le test auto enregistré pour la fenêtre s'exécute grâce à Ouvre
//pkParamTest prend successivement les valeurs 1, 2 ... n
Ferme(FEN_Connexion)


--
Il y a peut être plus simple, mais, ça tourne
Quand tout a échoué, utilise l'option RTFM
Mensagem modificada, janeiro, 31 2026 - 2:46 PM
Membro registado
14 mensagems
Publicado em fevereiro, 04 2026 - 3:41 PM
Bonjour Voroltinquo,

Merci pour votre réponse, cependant cela ne fonctionne malheureusement toujours pas.

//*** Avant le test scénario. ***
HCreation(T_BDOriginal) // Recréation volontaire de la base test.

TestAjouteItération("Test BD ORIGINAL 1")
TestAjouteItération("Test BD ORIGINAL 2")
TestAjouteItération("Test BD ORIGINAL 3")
TestAjouteItération("Test BD ORIGINAL 4")
TestAjouteItération("Test BD ORIGINAL 5")


//*** Scénario du test. ***
Procedure MonScénario(Nomtest est une chaîne)

Ouvre(Fiche_T_BDOriginal,Nomtest) // La fenêtre attend une chaine en paramètre.

// Le champ de saisie concerné est rempli par la variable entrée en paramètre.
...
PiloteSouris(Fiche_T_BDOriginal.Valider,psClicGauche) // La validation inclus la fermeture de la fenêtre.


L'onglet "Erreur de compilation" m'affiche ceci.






Je dois avouer que je bloque franchement.

Bonne journée.

Thierry
Membro registado
906 mensagems
Publicado em fevereiro, 04 2026 - 5:49 PM
bonsoir,

Je n'ai pas testé mais au lieu de :
TestAjouteItération("Test BD ORIGINAL 1")
TestAjouteItération("Test BD ORIGINAL 2")
TestAjouteItération("Test BD ORIGINAL 3")
TestAjouteItération("Test BD ORIGINAL 4")
TestAjouteItération("Test BD ORIGINAL 5")

avec

TestAjouteItération("Test BD ORIGINAL,1")
TestAjouteItération("Test BD ORIGINAL,2")
TestAjouteItération("Test BD ORIGINAL,3")
TestAjouteItération("Test BD ORIGINAL,4")
TestAjouteItération("Test BD ORIGINAL,5")

??
Membro registado
26 mensagems
Publicado em fevereiro, 04 2026 - 6:19 PM
Bonjour,

Est-ce que dans la description de la "liste de tests", le test unitaire est bien associé à la fenêtre ?

NN12
Membro registado
14 mensagems
Publicado em fevereiro, 04 2026 - 6:25 PM
Bonjour, kick71 a écrit :
bonsoir,

Je n'ai pas testé mais au lieu de :
TestAjouteItération("Test BD ORIGINAL 1")
TestAjouteItération("Test BD ORIGINAL 2")
TestAjouteItération("Test BD ORIGINAL 3")
TestAjouteItération("Test BD ORIGINAL 4")
TestAjouteItération("Test BD ORIGINAL 5")

avec

TestAjouteItération("Test BD ORIGINAL,1")
TestAjouteItération("Test BD ORIGINAL,2")
TestAjouteItération("Test BD ORIGINAL,3")
TestAjouteItération("Test BD ORIGINAL,4")
TestAjouteItération("Test BD ORIGINAL,5")

??


Bonjour,
Malheureusement cette solution n'est pas la bonne, car le chiffre fait partie de la chaine passée en variable.
Merci et bonne soirée.
Membro registado
14 mensagems
Publicado em fevereiro, 04 2026 - 6:27 PM
NN12 a écrit :
Bonjour,

Est-ce que dans la description de la "liste de tests", le test unitaire est bien associé à la fenêtre ?

NN12


Bonsoir,
Oui il est bien associé à la fenêtre.
Bonne soirée.
Membro registado
906 mensagems
Publicado em fevereiro, 04 2026 - 6:32 PM
Si cela peu aider :-) (Claude.ia)

// Fonction à tester
PROCÉDURE Addition(a est un entier, b est un entier) : entier
RENVOYER a + b

// Test automatique
PROCÉDURE TEST_Addition()

// Définir plusieurs itérations
TestAjouteItération(2, 3, 5) // 2 + 3 devrait donner 5
TestAjouteItération(10, 15, 25) // 10 + 15 devrait donner 25
TestAjouteItération(-5, 5, 0) // -5 + 5 devrait donner 0
TestAjouteItération(0, 0, 0) // 0 + 0 devrait donner 0

// Le test s'exécutera automatiquement pour chaque itération
Résultat est un entier = Addition(a, b)
TestVérifie(Résultat = ResultatAttendu)
Membro registado
26 mensagems
Publicado em fevereiro, 05 2026 - 8:00 AM
Bonjour,

Si le test est bien lié à la fenêtre "Fiche_T_BDOriginal" alors il n'y a pas besoin d'appeler la fonction Ouvre().
C'est automatique au lancement du test.

NN12
Membro registado
14 mensagems
Publicado em fevereiro, 07 2026 - 6:01 AM
Bonjour,
Merci pour votre réponse mais cela ne correspond pas à mes besoins pour ce test.
Salutations.
Membro registado
14 mensagems
Publicado em fevereiro, 07 2026 - 6:02 AM
kick71 a écrit :
Si cela peu aider (Claude.ia)

// Fonction à tester
PROCÉDURE Addition(a est un entier, b est un entier) : entier
RENVOYER a + b

// Test automatique
PROCÉDURE TEST_Addition()

// Définir plusieurs itérations
TestAjouteItération(2, 3, 5) // 2 + 3 devrait donner 5
TestAjouteItération(10, 15, 25) // 10 + 15 devrait donner 25
TestAjouteItération(-5, 5, 0) // -5 + 5 devrait donner 0
TestAjouteItération(0, 0, 0) // 0 + 0 devrait donner 0

// Le test s'exécutera automatiquement pour chaque itération
Résultat est un entier = Addition(a, b)
TestVérifie(Résultat = ResultatAttendu)


Merci pour votre réponse, cependant cela ne correspond pas à mes besoins.
Salutations.
Membro registado
14 mensagems
Publicado em fevereiro, 07 2026 - 6:27 AM
NN12 a écrit :
Bonjour,

Si le test est bien lié à la fenêtre "Fiche_T_BDOriginal" alors il n'y a pas besoin d'appeler la fonction Ouvre().
C'est automatique au lancement du test.

NN12


Bonjour,
Merci pour votre réponse et effectivement j'ai aussi essayer sans le code "ouvre..."

//*** Avant le test Scénario2. ***
// Pour exécuter le scénario plusieurs fois avec des paramètres différents
// appelez ici autant de fois que nécessaire la fonction TestAjouteItération(<Paramètre 1> [, ... [, <Paramètre N>]])
// (les paramètres spécifiés correspondent aux paramètres du scénario)

HCreation(T_BDOriginal) // Recréation volontaire de la base test.

TestAjouteItération("Test BD ORIGINAL 1")
TestAjouteItération("Test BD ORIGINAL 2")
TestAjouteItération("Test BD ORIGINAL 3")
TestAjouteItération("Test BD ORIGINAL 4")
TestAjouteItération("Test BD ORIGINAL 5")

//*** Scénario2 du test Scénario2. ***
Procedure MonScénario(Nomtest est une chaîne)

//ouvre(Fiche_T_BDOriginal,NomTest) // La fenêtre attend une chaine en paramètre.

// Le champ de saisie concerné est rempli par la variable.

PiloteSouris(Fiche_T_BDOriginal.Valider,psClicGauche) // La validation inclus la fermeture de la fenêtre.


Cela me renvoie la même erreur soit :





Merci encore et salutations.