Record and Play WEB

Rédigé par Dominique Mereaux le 04 janvier 2019

Plusieurs possibilités: Si vous ne voulez pas utiliser la fonction export vous pouvez de nouveau utiliser l'IDE Selenium:




L'IDE selenium est disponible sur google chrome et également sur firefox. L'interface est complètement refaite. Si vous avez besoin de la fonction export (pour exporter les tests au format java, python, robotframework ...) vous pouvez utiliser l'IDE Katalon disponible sur firefox et google chrome.

Classé dans : Automatisation - Mots clés : aucun - aucun commentaire

Parametriser ses tests avec NUNIT

Rédigé par Dominique Mereaux le 06 mai 2014

Pour rendre ses tests automatiques maintenables il est essentiel de limiter le code de test. La plupart des framework de test offre la possibilité d'utiliser le même code source pour des jeux d'essais différents.



Prenons un exemple: sur une page web je veux tester la présence d'une série de lien:





Avec NUNIT on peut simplement rejouer le même test pour les différents liens:



Le test est rejoué pour les deux liens:


Le code suivant est équivalent:



Encore plus fort, si j'ai plusieurs paramètres je peux les combiner en utilisant en autres une stratégie de type "pairwise". Pour celà j'utilise l'attribut Pairwise de test. Voici un exemple:



Pairwise: au lieu d'avoir toutes les combinaisons de paramètres par 3, on se contente des combinaisons par paire: toutes les combinaisons de valeurs pour 2 paramètres sont présentes.


Et voici les combinaisons proposées:



Plus d'infos sur NUNIT

Classé dans : Automatisation, Outil de test - Mots clés : automatisation, NUNIT, framework de test - aucun commentaire

Tester ses activités avec la classe: ActivityInstrumentationTestCase2

Rédigé par Dominique Mereaux le 14 mars 2014

Cette classe permet de tester le cycle de vie d'une activité.
Elle hérite de la classe ActivityIntrumentationTestCase qui permet comme son nom l'indique d'instrumenter l'activité soit:
  • de contrôler le cycle de vie.
  • de simuler des intents.
  • de simuler des interaction utilisateur.


Rappel cycle de vie:



Dans un premier il faut démarrer l'activité. Cela est réalisé au moment su SetUp du test:


La fonction setActivityInitialTouchMode(false);permet de déactiver le mode tactile pour pouvoir utiliser l'envoi de caractères.
L'appel à mActivity = getActivity(); permet de démarrer l'activité. Tout est en place pour démarrer les tests.

Pour interagir avec l'interface de l'application il faut le faire dans le thread de l'application.

Une fois l'objet graphique initialisé, ici le spinner, il est possible de simuler les interactions avec des fonctions de type sendKeys. Et maintenant testons le cycle de vie:


Il faut récupérer l'objet instrumentation qui va nous permettre de tester le cycle de vie. Dans un premier temps on travaille sur l'activité, elle est ensuite mise en pause puis l'activité reçoit l'événement resume.
Le test va consister à vérifier que l'activité est dans l'état avant la mise en pause.

Plus d'information: ici

Classé dans : Automatisation, Outil de test - Mots clés : aucun - aucun commentaire

Exemple de test selenium avec une popup

Rédigé par Dominique Mereaux le 26 mai 2012

Il est possible de se créer un compte viadeo via google mail. Une popup s'ouvre alors. Nous allons faire un enregistrement de cette procédure et voir pourquoi on ne peut l'utiliser tel quel.




Si on sélectionne google la popup suivante apparait :



Après enregistrement de cette procédure on obtient :





Si je rejoue le test tel quel il ne fonctionnera pas. En effet dans les commandes waitForPopUp et selectWindow l'identifiant est variable (généré automatiquement) et donc aucune chance pour que selenium trouve l'élément suivant.


Que faire?


Si on regarde en détail la commande waitForPopUp qui permet de se synchroniser sur l'apparition du popup on apprend qu'à la place de l'identifiant javascript de la fenêtre on peut utiliser null et dans ce cas c'est le premier popup qui est pris en compte


Pour la deuxième commande selectWindow qui permet de rendre la fenêtre active pour selenium, on apprend que l'on peut également sélectionner la fenêtre en utilisant le nom de la fenêtre ici "Comptes Google" .


Finalement le code devient:

Il n'est pas toujours possible de réutiliser tel quel un code enregistré.

Classé dans : Automatisation - Mots clés : selenium - aucun commentaire

Selenium : Identifier avec xPath

Rédigé par Dominique Mereaux le 24 avril 2012

Le moyen le plus simple et le plus rapide de retrouver un élément d'une page web (pour cliquer dessus par exemple) est l'id. Malheureusement l'id n'est pas toujours présent. Dans ce cas on peut également utiliser les requêtes xPath (navigation dans un document XML) pour retrouver un élément.


Soit la page web suivante:


Je voudrais accéder au deuxième lien "détail" pour le cliquer.


L'IDE de selenium nous propose plusieurs possibilités comme par exemple par position absolue: //tr[3]/td[5]/a

soit:
  1. tr[3] Accéder à la troisième ligne
  2. td[5] Accéder à la cinquième cellule
  3. a Accéder à l'élément lien



Le test selenium sera à réécrire si par exemple un autre tableau est ajouté en début de cette page web.

De façon relative: //table[@id='maTable']/tbody/tr[3]/td[5]/a
  1. table[@id='maTable'] Accéder au tableau identifié par l'id "maTable"
  2. tr[3] Accéder à la troisième ligne
  3. td[5] Accéder à la cinquième cellule
  4. a Accéder à l'élément lien


Intéressant pour tester des tableaux générés dynamiquement.



Recherche sur un attribut : xpath=(//a[@name='lien'])[2]
  • Le deuxième lien ayant pour attribut nom = 'lien'.


Pour plus d'informations sur la construction de ce type de requêtes :
w3schools xpath

Classé dans : Automatisation, Outil de test - Mots clés : selenium - aucun commentaire

Fil Rss des articles de cette catégorie

page 1 sur 3suivante»

Catégories

Archives

Mots clés

Derniers articles

Derniers commentaires