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

Tests et Performance Java Discussion :

Envoie de caractères avec selenium IDE [Selenium]


Sujet :

Tests et Performance Java

  1. #1
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2015
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 198
    Points : 80
    Points
    80
    Par défaut Envoie de caractères avec selenium IDE
    Bonjour à toutes et tous
    Je ne sais pas si je publie cette discussion au bon endroit. Si ce n'est pas le cas, merci de vouloir me dire à quel endroit dois-je le mettre.

    J'explique mon problème:
    Je doit tester une application qui créer un produit. L'encodage des données se font via une dialogue boxe écrite en Bootstrap.
    Lorsque l'utilisateur commence à écrire le nom du produit, après le 3ème caractère, une liste déroulante apparait juste en-dessous du champs d'encodage avec la liste des produits existant dont le nom commence avec les lettres introduites. Si le nom du produit existe, je dois le sélectionner. Dans le cas contraire, je dois le créer.

    Donc, avec Selenium, je dois le tester. J'ai crée un test case

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
     
    <!-- J'envoie la chaine de caractère "Prod" (pour "Produit" ) -->
    <tr>
    	<td>sendKeys</td>
    	<td>id=NomProduit</td>
    	<td>Prod</td>
    </tr>
    <!-- Ici se trouve mon problème : J'attend que la liste déroulante apparaisse pour contrôler si le nom encodé existerais ou pas -->
    <tr>
    	<td>waitForElementPresent</td>
    	<td>class=typeahead dropdown-menu</td>
    	<td></td>
    </tr>
    <tr>
    	<td>storeElementPresent</td>
    	<td>class=typeahead dropdown-menu</td>
    	<td>isPresent</td>
    </tr>
    <!-- Si le nom du produit existe dans la liste, je l'utilise. Dans le cas contraire, je dois le créer -->
    <tr>
    	<td>gotoIf</td>
    	<td>${isPresent} == true</td>
    	<td>SelectionneProduit</td>
    </tr>
    Si j'exécute ce code en pas à pas, cela fonctionne très bien. Par contre, si je l'exécute tout seul, la liste déroulante n'apparait pas et le code se plante.
    Je reçois une erreur de violation de clé primaire (logique puisque l'enregistrement existe).

    J'ai également utilisé l'instruction

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    <tr>
    	<td>sendKeysAndWait</td>
    	<td>id=NomProduit</td>
    	<td>Prod</td>
    </tr>
    Dans ce cas, après 30 secondes je reçois l'erreur 'Time out'.

    J'ai déjà cherché sur Google. Le problème viendrais de l'affichage de la liste déroulante (le JavaScript de Sélénium bypass le JavaScript de l'application)

    Auriez-vous des idées à me soumettre ?
    Merci d'avance de votre aide

    Bonne journée
    André

  2. #2
    Membre régulier
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Juin 2015
    Messages
    198
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Belgique

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : Juin 2015
    Messages : 198
    Points : 80
    Points
    80
    Par défaut La solution est trouvée
    Bonjour,
    J'écris pour annoncer que la solution au problème est trouvée.

    Le code s'exécute trop vite. Le système n'attend pas que la liste n'apparaisse.

    En réalité, il y a 3 solutions:

    a) Ajuster la vitesse d'exécution du code.

    Vous pouvez ajuster la vitesse d'exécution du code en déplaçant le curseur (en haut à gauche)

    Nom : Selenium01.jpg
Affichages : 268
Taille : 17,4 Ko

    b) ajouter au début du test case l'instruction : setSpeed

    Cette instruction doit recevoir une valeur en millisecondes.
    Au plus petit est la valeur, au plus vite s'exécute le code
    En fin de test case, je remet la valeur d'exécution le plus rapide: setSpeed 0

    c) Utiliser l'instruction "pause" avec une valeur en millisecondes.

    Voilà.

    Bonne après-midi
    Andre

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [XL-2007] VBA Envoi de mail avec Thunderbird et caractère avec accents
    Par mikael2403 dans le forum Macros et VBA Excel
    Réponses: 4
    Dernier message: 01/12/2015, 16h57
  2. Editer ses tests avec Selenium IDE
    Par Misaki dans le forum Test
    Réponses: 8
    Dernier message: 26/09/2011, 13h03
  3. Réponses: 1
    Dernier message: 22/12/2008, 09h16
  4. Réponses: 7
    Dernier message: 27/04/2006, 16h51
  5. Réponses: 2
    Dernier message: 06/12/2002, 07h50

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