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

GWT et Vaadin Java Discussion :

Tests automatisés sur Selenium depuis serveur Debian


Sujet :

GWT et Vaadin Java

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 11
    Par défaut Tests automatisés sur Selenium depuis serveur Debian
    Bonjour,

    je travaille actuellement sur un projet J2EE utilisant GWT 2.0. Les
    tests selenium ne passent pas en passant par selenium IDE.
    GWT 2.0 ne génére pas forcément d'id aux élements des pages web (des
    boutons notamment), les class et le css ne permettent pas de les
    identifier.

    En parcourant les différents forums j'ai pu constater qu'il est
    possible de contourner ce problème en placant un id manuellement sur
    les widgets utilisés, ou en utilisant des méthodes comme ensureById ou
    AssignId ; solution que j'ai testé sans succès.

    Je souhaiterais automatiser les tests sans avoir besoin à repasser
    manuellement sur le code source, objet par objet.
    Ce cas est-il
    possible ?

    Sinon, comment écrire les tests en classe java (un par un, test par
    test) en JUnit 4 WebDriver (Backed ou non), ou Remote Control sans
    avoir ce soucis d'id ?

    Merci.

  2. #2
    Membre éclairé
    Inscrit en
    Février 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 70
    Par défaut
    Salut,

    S'amuser avec les id en GWT, c'est un bon source de problème ...

    1) Tu as tenté en debug mode avec "ensureDebugId" ? Avec "<inherits name="com.google.gwt.user.Debug"/> " dans ton gwt.xml ?

    2) A partir de la version GWT 2.4.0, tu peux setter des id. Je ne sais pas si c'est possible, mais si tu peux updater ton GWT, peut être que cela pourrait résoudre ton pb:
    http://stackoverflow.com/questions/7...gwt-widgets-id

  3. #3
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 11
    Par défaut
    Merci, j'ai essayé ta solution (mieux expliqué que beaucoup de forums) mais je crois qu'avec GWT 2.0 ce n'est pas possible d'avoir un id avec ces options.
    Le code généré est le même.

    Si tu as une autre idée, je suis preneur

  4. #4
    Membre éclairé
    Inscrit en
    Février 2009
    Messages
    70
    Détails du profil
    Informations forums :
    Inscription : Février 2009
    Messages : 70
    Par défaut
    j'ai testé mes deux solutions, les id se mettent bien comme il faut.

    1) Je te conseille d'updater ton GWT, passer à la version 2.4 minimum, c'est (normalement) rétrocompatible, du coup, tu vas rien perdre ...
    Ensuite si tu fais un truc du genre:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    panel.getElement().setId("monId");
    le code HTML donne bien
    2) Si tu ne peux pas updater ton GWT, le mode debug marche, les id des composants sont stables, par contre, si tu les change, il possède des préfixes ""gwt-debug-XXX". De plus certain champs possède de suffixe. Le label donnera un truc du genre: "gwt-debug-XXX-label", les inputs donneront "gwt-debug-XXX-input". Bref, un gros ctrl-f/remplacer s'impose.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    panel.ensureDebugId("monId");
    le code HTML donne bien
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <div id="gwt-debug-monId">
    Si ces deux solutions ne te conviennent pas, pour moi, tu es bloqué.

  5. #5
    Membre averti
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2011
    Messages
    11
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Août 2011
    Messages : 11
    Par défaut EnsureDebugId ne génère pas d'ID à mes widgets
    pour ces conseils avisés

    J'ai appliqué ta deuxième proposition car la première n'a pas fonctionnée en passant à GWT 2.4 depuis mon projet GWT 2.0.
    Même si je n'avais aucune erreur java, l'application ne fonctionnait plus au premier déclenchement métier.

    Avec l'utilisation de EnsureDebugId sur mes widgets (des boutons dans le cas présent), ils n'ont pas d'ID ; ou plutôt ont un ID mais 1 fois sur 10 .
    J'ai évidemment recherché sur internet pour trouver finalement une seule personne posant cette question (mais personne n'y avait répondu) : Pourquoi EnsureDebugId génère parfois un ID ? Quelle serait la raison ?



    Encore merci pour les personnes participant à cette discussion.

Discussions similaires

  1. Réponses: 1
    Dernier message: 09/04/2009, 09h25
  2. Client diskless Windows Xp sur serveur Debian. Possible?
    Par looInside dans le forum Administration système
    Réponses: 0
    Dernier message: 02/02/2009, 00h08
  3. Réponses: 1
    Dernier message: 09/05/2008, 08h35
  4. Ouvrir un port sur serveur debian
    Par ready dans le forum Réseau
    Réponses: 4
    Dernier message: 13/01/2006, 11h57
  5. Erreur de connexion à ma base sur serveur Debian - Apache
    Par GLDavid dans le forum Installation
    Réponses: 4
    Dernier message: 24/09/2003, 10h29

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