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:
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:
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é