Je voudrais connaître vos commentaires sur les meilleures pratiques de développement de framework d'automatisation de test web
J'ai essentiellement lu quelques blogs et j'ai finalement été convaincu par l'approche de David Burns répertoriée dans le livre - "Outils de test Selenium 1.0: Guide du débutant" dans chapitre 7 .
En conservant toutes les méthodes, les vérificateurs d'une page particulière dans un fichier de classe séparé la rendent raffinée et maintenable.
J'aimerais connaître les avantages de la conception d'un cadre d'automatisation à l'aide de modèles de conception. Je ne suis pas entièrement convaincu de la meilleure approche. Veuillez ajouter vos suggestions. Pourrait être chaque approche, nous pouvons énumérer les avantages et les inconvénients
Serait-il bon de stocker toutes les étapes dans une table de base de données, de récupérer et d'exécuter les étapes? Dans ce cas, si l'un des tests a échoué, cela aurait été mis à jour dans les tableaux et nous ne pouvons exécuter sélectivement que les tests ayant échoué.
En outre, la création de rapports peut être effectuée en interrogeant de manière sélective les tables et les données peuvent être nettoyées de ces tables via un travail. Conserver les résultats/analyser les résultats des fichiers de sortie de test est également très bien.
Si vous avez déjà répondu à cette question dans des articles connexes, veuillez publier des liens. J'ai vérifié quelques messages avant de poster cette question.
Dans un site Web, l'interaction de l'utilisateur avec le site Web est pilotée par les événements. La façon dont l'utilisateur peut interagir avec le site peut être plusieurs combinaisons A-> B-> C ou A-> C-> B. Faire toutes les combinaisons possibles offre une couverture maximale. Automatisation des tests basée sur un modèle couvrant tous les états possibles
La suite d'automatisation qui simule la régression fonctionnelle pour tous les états possibles simulerait tous les scénarios utilisateur
Veuillez partager vos meilleures pratiques/suggestions pour les questions ci-dessus. Pour tous les fournisseurs de données d'implémentation ci-dessus, la transmission de données en XML nous permet de tirer parti de la gestion des données de test.
Quelle approche de conception nous devons considérer pour développer une suite d'automatisation de test basée sur un modèle.
Quelqu'un at-il essayé d'utiliser le framework http://www.w3qa.eu/framework.html . Tout commentaire/rétroaction sur le même s'il vous plaît fournir
David Burns est un gars intelligent. Son livre est un bon point de départ pour quiconque souhaite apprendre les bases du sélénium et l'automatisation des tests. Bien sûr, suivez ses conseils (et les miens, et ceux de tous les autres) avec un grain de sel. Il y a beaucoup d'experts et beaucoup d'opinions opposées. Vous devrez déterminer ce qui vous convient le mieux.
Oui. C'est certainement une bonne idée de "garder toutes les méthodes, les vérificateurs d'une page particulière dans une classe séparée." Vous pouvez reformuler cela comme "action et intention de séparation" ou "programmation dans le langage de domaine". Dans tous les cas, vous voulez éviter d'écrire des tests en sélénien de bas niveau. Pour ce faire, vous pouvez utiliser le modèle de conception de test d'objet de page. De nombreux contributeurs à Selenium et d'autres experts de Selenium préconisent l'utilisation d'objets de page. C'est un bon moyen de rendre le code de test plus robuste, lisible et réutilisable.
Connaître d'autres modèles de conception est également utile et les utiliser dans votre framework de test est probablement une bonne idée. Malheureusement, il n'existe pas de "meilleure" approche. Vous devrez probablement utiliser plusieurs modèles et un mélange d'approches pour obtenir un bon code de test. Je recommanderais de commencer petit, d'écrire quelques tests, de remarquer les odeurs de code et de refactoriser. Votre cadre de test se développera. Vous n'avez pas besoin de tout concevoir à l'avance. Soyez agile. Utilisez une approche itérative et incrémentielle. (N'utilisez pas l'IDE Selenium)
youtube - Simon Stewart parle de modèles de tests automatisés et de sélénium
Plutôt que de placer vos étapes de test dans une table de base de données, il est probablement préférable d'utiliser un outil de test comme Junit ou TestNG pour organiser vos tests. TestNG a une fonctionnalité intégrée pour relancer sélectivement les tests ayant échoué. Il a également de très bonnes capacités de reporting. Ne réinventez pas la roue ici. Apprenez un cadre de test comme TestNG ou Junit.
oh mec ... Je ne peux pas poster plus de deux liens en ce moment ... Oh bien ... Je recommande de rechercher des vidéos GTAC sur youtube, des vidéos saucelabs sur viddler, le blog Simon Stewarts, la documentation TestNG, des exemples d'objets de page et un article de Brett Pettichord intitulé Seven Steps for Automation Success.
Bonne chance!
http://mestachs.wordpress.com/2012/08/13/Selenium-best-practices/
J'ai écrit des frameworks de test de code sous cinq applications différentes (WinRunner, LoadRunner, QuickTest Professional, TestComplete, Selenium WebDriver) et j'ai trouvé un certain nombre de choses qui ont fonctionné pour moi:
J'utilise TestNG, WebDriver et Spring pour créer mon cadre de test actuel. J'extraye des segments de ce cadre dans son propre ensemble de bibliothèques OSS afin que d'autres puissent les réutiliser. En ce moment, je peux injecter des types d'éléments personnalisés, et j'ai quelques types de base ajoutés pour faire du travail de formulaire. C'est vraiment difficile, et ce n'est pas un cadre qui est autonome; vous devez l'intégrer dans votre propre framework, mais j'essaie de garder les dépendances au minimum.
Mes amis, si vous faites des tests d'automatisation, veuillez vous assurer des choses suivantes:
Merci.
Hey.
. La plupart des programmeurs peuvent dire que ce ne sont plus des tests unitaires ... et peut-être pas. Mais ce n'est pas important. Vous pouvez toujours le faire bien. Vous trouverez ci-dessous des liens qui devraient vous aider à démarrer. Bien qu'ils parlent de créer des tests fonctionnels qui fonctionnent sur toute l'application (niveau gui), je pense que la même approche que vous pouvez appliquer pour atteindre votre objectif. Bref, il présente comment écrire des tests à 3 couches, vous aurez donc une séparation entre la logique et la mise en œuvre.