IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

WinDev Discussion :

Tests unitaires : Problème de passage de paramètres lors de l'ouverture de la fenêtre


Sujet :

WinDev

  1. #1
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 84
    Points : 90
    Points
    90
    Par défaut Tests unitaires : Problème de passage de paramètres lors de l'ouverture de la fenêtre
    Bonjour,

    Je commence à m'intéresser aux tests unitaires. J'ai créé un test sur une fenêtre qui attend des paramètres à l'ouverture dans la partie déclarations globales de la fenêtres puis qui effectue des traitements en utilisant ces paramètres dans le code d'initialisation de la fenêtre.

    Dans la description de mon test onglet détails il est possible de mettre des valeurs pour chacun des paramètres qui sont dans ce cas transmis à la fenêtre. Mais je voudrais pourvoir changer ces paramètres dynamiquement avant l'ouverture de la fenêtre et l'exécution de l'initialisation de la fenêtre. Je ne trouve pas comment faire. J'ai trouvé comment changer ces paramètres dans la partie "Avant le test" mais c'est trop tard car l'initialisation de la fenêtre est déjà faite.

    Voila si quelqu'un peut m'aider,
    Merci

  2. #2
    Membre averti
    Développeur informatique
    Inscrit en
    Avril 2010
    Messages
    256
    Détails du profil
    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Avril 2010
    Messages : 256
    Points : 435
    Points
    435
    Par défaut
    Bonjour,

    Si vous faites un "GO" simple de la fenêtre, Windev vous demande les paramètres (en reprenant les dernières valeurs saisies), non?

  3. #3
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 84
    Points : 90
    Points
    90
    Par défaut
    Merci de votre réponse
    Citation Envoyé par SevenSoftware Voir le message
    Bonjour,

    Si vous faites un "GO" simple de la fenêtre, Windev vous demande les paramètres (en reprenant les dernières valeurs saisies), non?
    Je crois bien que non. De toutes façons je veux utiliser des tests automatiques. Il n'est donc pas prévu de saisir des paramètres. En résumé voici le processus suivi:

    - Je créé dans windev 17 un nouveau projet
    - Je créé une seule fenêtre vierge FEN_user
    - Elle attend 1 paramètre id qui correspondant à un id en BDD. Donc dans la partie Déclarations globales de la fenêtre j'ai :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    PROCEDURE FEN_user(id est une chaîne)
    et dans "Initialisation de" :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    SI id = "" ALORS 
        Erreur("id est vide")
    FIN
    - Cette fenêtre étant ouverte dans l'éditeur, je choisi le menu "Tests Automatiques >> Enregistrer un nouveau test" mais je ne choisi pas "Commencer l'enregistrement". J'ai donc à ce moment un test TEST_user avec un scénario1.
    En faisant un clic droit sur "Test_user" puis description, dans l'onglet "Détails" mon paramètre id est présent et je peux le renseigner. En le faisant je n'ai pas d'erreur, le scénario est passé avec succès. Le problème c'est que je ne veux pas renseigner ce paramètre en dur mais le lire depuis la BDD. J'efface donc le contenu du paramètres et en lançant le test, j'obtiens une erreur "le test a été bloqué par une boîte de dialogue inattendue". C'est mon code qui réagit car mon id est vide et c'est normal.

    Donc comment renseigner cet id autrement que par la description du test ? Ce que je voudrais c'est pouvoir:

    - Au mieux : Pour changer mon id dans chacun des scénarios. ça pose un problème car lorsqu'on arrive dans le scénario la fenêtre a déjà été ouverte avec le paramètre saisi dans la description.
    - Au moins : Changer ce id une fois pour l'ensemble des scénarios

    En résumé il ne me semble pas possible de changer dans le code les paramètres transmis à la fenêtre. Les renseigner en dur dans la description n'est pas satisfaisant car en testant une BDD, les id ne peuvent être connus à l'avance.

    Mais quelque chose m'a peut-être échappé (ça serait bien d'ailleurs),

    Merci

  4. #4
    Membre régulier Avatar de Kaal
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2005
    Messages : 55
    Points : 95
    Points
    95
    Par défaut
    Bonjour,
    J'ai, moi aussi, buté sur ces tests automatiques.
    Il est, effectivement, pas possible de lire des paramètres depuis une source externe avec les tests automatique de PcSoft.

    Pour ce genre de test, j'utilise une classe qui appelle la fenêtre avec les paramètres pris dans la source de données. Une sorte de Mode Test.
    Quelle est la différence entre un bon et un mauvais développeur ?

  5. #5
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 84
    Points : 90
    Points
    90
    Par défaut
    Citation Envoyé par Kaal Voir le message
    Bonjour,
    J'ai, moi aussi, buté sur ces tests automatiques.
    Il est, effectivement, pas possible de lire des paramètres depuis une source externe avec les tests automatique de PcSoft.

    Pour ce genre de test, j'utilise une classe qui appelle la fenêtre avec les paramètres pris dans la source de données. Une sorte de Mode Test.
    Merci de cette réponse. Pourrais-tu détailler un peu la façon de faire?

  6. #6
    Membre régulier Avatar de Kaal
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Décembre 2005
    Messages
    55
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 44
    Localisation : France, Drôme (Rhône Alpes)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : Santé

    Informations forums :
    Inscription : Décembre 2005
    Messages : 55
    Points : 95
    Points
    95
    Par défaut
    Tu créés une classe (exemple : "clTEST.wdc"), dans une méthode tu parcours ton fichier BDD.
    Pour chaque occurrence appelle la fenêtre
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    nResultat est un entier
    sMessage_Erreur est une chaine
    POUR TOUT BDD
         nResultat = ouvre(FEN_user, BDD.id)
         SI nResultat = 1 ALORS
              sMessage_Erreur += [RC]+ BDD.id +" est vide"
         FIN
    FIN
    Erreur(sMessage_Erreur)
    Par contre, comme il faut gérer les erreurs dans la méthode de la classe.
    Dans la fenêtre remplace : par : La méthode de la classe, tu l'appelles quand et comme tu veux (bouton caché, mode d'ouverture...).
    Quelle est la différence entre un bon et un mauvais développeur ?

  7. #7
    Membre régulier
    Inscrit en
    Février 2004
    Messages
    84
    Détails du profil
    Informations forums :
    Inscription : Février 2004
    Messages : 84
    Points : 90
    Points
    90
    Par défaut
    Merci Kaal pour ta réponse. Sinon en cherchant aujourd'hui j'ai réussi à contourner ce problème de paramètres d'ouverture de fenêtre. Je ne passe plus mes paramètres dans la déclaration de la fenêtre. Au lieu de ça j'ai créé une procédure f_init et c'est elle qui reçoit les paramètres de la fenêtre. Je ne fais donc plus: mais
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
    ouvre(FEN_test)
    FEN_Test.f_init("valeur de l'id")
    cette procédure met à jour mes variables globales correspondantes et exécute le code d’initialisation du projet qui a été déplacé dans cette procédure. De cette façon f_init peut être appelé dans chaque itération de test et ça résout ce problème.

    Maintenant j'ai un autre problème. Je n'arrive pas à enregistrer les séquences clavier/souris sur la fenêtre afin de générer des piloteSouris etc. La fenêtre ne se lance pas. En fait ça fonctionne sur un petit projet de test avec 1 ou 2 fenêtres mais pas sur mon "vrai" projet beaucoup plus volumineux. De la même manière je ne peux pas lancer wdtest pour enregistrer un script de test. J'ai mon interface XP qui se fige et la fenêtre du programme n'apparaît jamais.


    Quelqu'un a-t-il une idée?
    merci

Discussions similaires

  1. [ZF 1.11] Test Unitaire problème lors de save
    Par keazz dans le forum Zend Framework
    Réponses: 0
    Dernier message: 29/08/2011, 21h13
  2. Réponses: 2
    Dernier message: 23/05/2008, 15h06
  3. Réponses: 12
    Dernier message: 06/06/2006, 12h13
  4. Réponses: 9
    Dernier message: 13/05/2005, 03h13
  5. problème de passage de paramêtre sous mozilla
    Par mat10000 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 2
    Dernier message: 27/09/2004, 10h48

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo