2010-10-20 10 views
5

Je voudrais en savoir plus sur l'utilisation de Selenium IDE et RC pour créer de bons tests d'automatisation. Y a-t-il quelqu'un qui est intéressé par le partage d'informations? ou en discuter? Surtout pour des choses comme:Selenium, Nunit Meilleures pratiques?

1) Quelle est une bonne façon d'organiser les tests de l'interface utilisateur? Actuellement, j'exécute ces tests par NUnit et j'exécute les tests dans l'ordre de leurs noms alphabétiques. Y a-t-il un meilleur moyen? (J'écris les scripts de sélénium en C# et non en Java)

2) Comment les résultats sont-ils enregistrés?

3) Modulariser les tests du sélénium RC? J'ai un problème ici. Comme j'exécute mes tests via NUnit, la seule façon que je pouvais comprendre était de donner des identifiants aux tests afin qu'ils soient exécutés dans le bon ordre. De plus, je dois écrire tous mes tests les uns après les autres dans la classe textfixture. Encore une fois existe-t-il un meilleur moyen? J'ai essayé de créer des fichiers supplémentaires mais quand je crée des tests et que je les sélectionne pour fonctionner dans NUnit, il semble que le serveur sélénium ne démarre même pas.

4) Quelles sont les meilleures pratiques pour les tests d'automatisation? Des pointeurs vers des sites/livres/etc.?

Cela peut sembler très simple, mais j'ai passé des semaines à essayer de trouver de meilleurs moyens, donc si quelqu'un est prêt à offrir des suggestions ou des suggestions, je l'apprécierai vraiment!

Merci!

Répondre

8

J'ai répondu à chacune des questions ci-dessous.

  1. tests ne devraient pas d'importance de l'ordre qu'ils courent. Si vous commencez à se soucier de ce que vous allez commencer à introduire flakiness des tests. Si vous devez vous connecter à chaque test, faites-le si vous devez enregistrer un certain nombre d'utilisateurs pendant vos tests. Les tests devraient toujours pouvoir fonctionner par eux-mêmes.

  2. Nunit enregistre ses résultats dans un fichier XML. Cela aura une liste des passes et tombe en panne et est normalement rendu dans un joli mode en continu presque tous

  3. Voir ma réponse pour Best Practices for modularizing Selenium RC test scripts

    • Les tests doivent toujours avoir un point de départ connu. Dans le contexte de Selenium, cela pourrait signifier l'ouverture d'une certaine page pour démarrer un workflow.
    • Les tests ne devraient pas dépendre d'autres tests. Si un test va ajouter quelque chose ne pas avoir un test séparé pour le supprimer. C'est pour s'assurer que si quelque chose ne va pas dans un test, cela ne signifie pas que vous avez beaucoup d'échecs inutiles à vérifier. Les tests ne doivent tester qu'une seule chose à la fois.
    • Les tests doivent nettoyer après eux-mêmes.
+0

Merci pour votre réponse bien formulée et bien formatée! – Saavik

1

Si vous souhaitez utiliser du sélénium, je vous suggère plutôt d'utiliser la partie frontale TestPlan au lieu d'une autre langue. En plus d'un langage spécifique à un domaine, il offre une bonne gestion des cas de test. Vous pouvez organiser vos tests dans une belle hiérarchie et il les exécutera tous et rapportera les résultats.

Il prend soin de beaucoup de détails de lancement de sélénium et lisse sur de nombreuses difficultés dans l'API RC.

+0

Merci, je vais y jeter un coup d'oeil. – Saavik

1

Je viens de passer par là. En termes de modularisation et d'outils utiles. Je pense qu'il est vraiment important de réfléchir davantage à la construction d'un framework de test d'interface utilisateur automatisé, agile et bien entretenu, que de simplement moduler des scripts RC au sélénium. Selenium 2: Testing Tools Begginner's Guide était un bon début pour idée comment commencer à construire un bon cadre de test. J'ai eu BEAUCOUP de succès avec le (Modèle d'objet de page) [https://code.google.com/p/selenium/wiki/PageObjects] après avoir échoué 2-3 fois à obtenir un cadre de test automatisé. En termes de processus, j'ai trouvé préférable de commencer par écrire du code (vous écrivez des tests, donc ça devrait être facile à tester), mais refactoriser agressivement en utilisant une bonne POO comme les patterns et les structures commencent à se construire. Je recommande également How Google Tests Software pour la motivation de l'assurance qualité logicielle en général, les bonnes pratiques de test au niveau organisationnel, et quand et quand ne pas utiliser l'automatisation.